![]() ![]() ![]() Once you make a debug build, you can run a debugger, such as gdb or lldb on it. Furthermore for installed external libraries providing cmake find/configuration scripts (usually) allows you to gain access to IMPORTED library targets that automatically make include dirs and dependencies for the target available to the target linking via targetlinklibraries, if set up properly. #Cmake target generatorThere are distinct flags for this mode (variables ending in _DEBUG as opposed to _RELEASE), as well as a generator expression value CONFIG:Debug or CONFIG:Release. In multi-configuration generators, like many IDEs, you can pick the configuration in the IDE. Building in debug modeįor single-configuration generators, you can build your code with -DCMAKE_BUILD_TYPE=Debug to get debugging flags. If you add -trace-expand, the variables will be expanded into their values. There are related options as well, but they tend to bury you in output.įor example: cmake -S. Every line run in the file that you give will be echoed to the screen when it is run, letting you follow exactly what is happening. Have you wanted to watch exactly what happens in your CMake file, and when? The -trace-source="filename" feature is fantastic. If you want to print out a property, this is much, much nicer! Instead of getting the properties one by one of of each target (or other item with properties, such as SOURCES, DIRECTORIES, TESTS, or CACHE_ENTRIES - global properties seem to be missing for some reason), you can simply list them and get them printed directly: cmake_print_properties( However, a built in module makes this even easier: include(CMakePrintHelpers) The time honored method of print statements looks like this in CMake: message(STATUS "MY_VARIABLE=$") ![]() CMake debuggingįirst, let's look at ways to debug a CMakeLists or other CMake file. You might need to debug your CMake build, or debug your C++ code. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |