Using KDevelop during development of a shared library - cmake

I'm trying to use KDevelop as an IDE for development of a C++ shared library. An earlier posts here indicate that I need to edit a CMake makefile for doing that. This is quite painful and very time consuming as it means converting our custom gmake-oriented build system into something of CMake.
Is there any other way for doing that?

KDevelop doesn't force you to use a specific buildsystem like many other IDEs do. CMake is just the default as it's very well integrated and many if not all KDE projects use cmake.
You can use a different build system by choosing "Custom Buildsystem" or "Custom Makefile Project Manager".
Custom Makefile Project Manager simply calls "make" - your current build system should work this that.

Related

What is the best multiplattform IDE to use with CMAKE?

I'm trying to set up a multiplattform project using CMake, so its easy to setup on any PC.
Basicly the CMAKE script sets up all settings for the projects and finds all libraries automatically.
But after trying a few IDE's like codeblocks and eclipse it seams like CMake integration in these is pretty lackluster.
Does anybody have a few recommendations for better IDE's?
They should have an included debugger and code completion and should be easy to setup on windows and linux.
Have a look at clion, that fully integrates CMake, but I dislike the editor, not really user friendly.
Starting with version 2.6.0 CMake includes a generator for Eclipse CDT 4.0 or newer. It works together with the Makefile generators (i.e. "Unix Makefiles", "MinGW Makefiles", "MSYS Makefiles", and maybe "NMake Makefiles"). This generator creates a set of .project/.cproject files that can be imported in Eclipse using File > Import > Existing Eclipse project.
https://cmake.org/Wiki/Eclipse_CDT4_Generator

Are cmake scripts generally written by hand?

I need to create a cmake project which should be able to be built on linux and windows. So I looked into cmake Tutorials and all of them told me to setup the build process by hand. Bit looking at other projects made with cmake, the scripts seam like they were created by a computer (no formatting no comments). So I was wondering if there was a more automated aproach or tool that can be used for cmake files. Or are most cmake scripts really written by hand?
Yes, CMakeLists.txt are generally written by hand. Generated are SomeProjectConfig.cmake modules, which contain exported targets and information how the project was built. These modules are used by find_package command when you want to use SomeProject from your own project.

Intellij plugin Fortran

I have installed Intellij IDEA Version 2017.1.4 and installed the Fortran plugin. However, I don't see an option of starting a Fortran project even after restarting IntelliJ. I see the plugin has been successfully installed though.
Is there a simple hello-world fortran example with Intellij?
Thank you
No, you can't create a Fortran project in Intellij IDEA. You can use cmake to build you project and import such project in CLion. Here you can find some information about compiling Fortran project with CMake. Also several example projects can be easily found in the Internet.
General idea behind this is that IDE is not a build tool, so you are building your project with build tools and we are doing our best to support build tool that you're using. For now from all JetBrains IDEs only CLion supports build tool that is capable of compiling Fortran project (CMake). In the future CLion will support other build tools capable of doing this (make for example).
JetBrains just released a new Fortran plugin you may be interested in. I tried it in IntelliJ 15 and it did not allow me to create a new Fortran project. I have NOT tried it in CLion yet.

Maintain a cmake project (from Eclipse CDT4)

I'm having some difficulties with cmake (2.8.7) and Eclipse + CDT (3.7.1). I'm using a CMakeBuilder (http://www.cmakebuilder.com/), which I found via the search function here. Actually I thought, that'd be it.
Problem is that it does not provide any import function either: So I need cmake to generate Eclipse CDT4 Makefiles initially, which requires me to maintain two separate build systems and to work on copies. One for deployment, one for development.
Furthermore I'd need to copy my changes over into the original project, file by file, because I can just work on copies, that cmake generates together with the Makefiles. At the end: twice the work. Double-check integration each time.
Is there anything one can do to work directly on a cmake project from Eclipse (or another sane IDE)? Mainly I need good C++ editing (very large set of libs, so the paths are a major problem, and cmake searches for these on every platform). I could maintain cmake on my own, but Eclipse (and other IDEs) miss a useful import settings. Some IDE would be nice though. ;)
Best,
Marius
As I remember KDevelop4 has native support. In other hand: why don't edit CMakeLists.txt directly as a simple script (from an editor*) and use the official GUI? I haven't used Eclipse with CMake, but in Visual Studio the solution is generated automatically after editing any of project or solution CMakeLists.txt file. I expect something similar from Eclipse, too.
Eclipse CDT4 Generator
More info.
*: Notepad++ has highlight for CMake files.

pjsip using cmake

Has someone compiled pjsip using cmake?
The project does not have a way of using CMake to build the library itself (yet). But you can link to pjproject libs from your CMake project.
Here's a snippet from one of mine that uses pjproject as a dependency:
find_package(PKGCONFIG REQUIRED)
pkg_check_modules(PJSIP libpjproject>=1.14 REQUIRED)
include_directories(${PJSIP_INCLUDE_DIRS})
...
target_link_libraries(your_target ${PJSIP_LIBRARIES})
This requires pkg-config as well, and that pjproject.pc should be in it's default search path, or in directory in $PKG_CONFIG_PATH.
This should work on Linux and OS X.
I just made cmake-based compilation of PJSIP v2.3.
I use this compilation only on Windows platform for now, not tested on linux.
On Linux I recommend use PKG_CONFIG tool to discover PJSIP for your app.
Having peeked at their repository, the project is auto-tools/configure based. You would need to port the build system yourself. Depending on complexity, it is not that hard to accomplish. I have converted many projects to cmake. Maybe the pjsip comunity would welcome an upgrade to their build system, as I see they support multiple platforms like iphone, and windows through visual studio.
If you are using Clion IDE then it can automatically generate cmake file for pjproject. Just import it and it will open a wizard. You’ll need to specify the location of the sources, then select project files and include directories. Clion has the ability to make the cmake file from existing projects. for more help please see this link Clion Documentation