cmake Cmake, C, Cpp Project builder
if(CMAKE_CXX_FLAGS_DEBUG MATCHES "/MD")
string(REGEX REPLACE "/MD" "/MT" CMAKE... CMAKE...)
endif()
This help aims to explain some cmake commands lines, functions and
examples
For examples :
D:\Software\Formation\01_12_Cmake1\Cmake\CMakeLists.txt
D:\Doc\cmake\html\index.html
Usually, I put 4 directories :
bin/ Will contains the binaries to execute
src/ Caintains .c and .h files, this is the directory to edit
build/ Contains the VS files and from here I compile
deps/ Out Lib, caintains external dependancies
CMakeLists.txt With the rules of building
add_library add_executable add_test target_include_directory traget_compile_options project add_custom_command
================================================================================ mcmake-commands cmake-commands ~ >bash
cd build
cmake --build . --config release
cmake .. -G "NMake Makefiles" # To create and nmake file dans build I can compile then with nmake
nmake /help # in windows to get help
-DCMAKE_BUILD_TYPE=Relase
<bash
================================================================================ mcmake-test cmake-test ~
Test must return 0 in case of succes
enable_testing()
add_test(test mytest)
add_custom_command(TARGET mytest POST_BUILD COMMAND mytest ARGS arg1 arg2) # this will execute mytest after it is build
================================================================================ mcmake-stack cmake-stack ~
cmake: fatal error cannot open x.lib or x.exp
-> use the __declspec(dllexport), because the dyanmic librairy
has no export
-> See LoadLibrairy instead of target_link_librairies
add_compile_options(-Wall)
Cmake choose the config release or debug and archi.
Todo, change archi
vim: ft=myhelp