编译命令:
cmake -DCMAKE_INSTALL_PREFIX=…/install -DCMAKE_BUILD_TYPE=Release -GNinja …/
编译参数:
CMAKE_INSTALL_PREFIX
INSTALL 指令用于定义安装规则,安装的内容可以包括目标二进制、动态库、静态库以及
文件、目录、脚本等。 这里就是提前设置好编译到的路径!
CMAKE_BUILD_TYPE
这样产生的makefile文件make生成的可执行文件就带有调试信息,供gdb和gdbserver使用了
两个参数都是用来做makefile生成参数的参数,一个是make install使用, 一个是是否是debug版本。
cmake 具体解读:
PROJECT(test_sqrt) #项目名字,一般和项目的文件名字相对应。应该没有具体的实质意义。
message() #输出信息到屏幕
message(“CMAKE_SOURCE_DIR=${CMAKE_SOURCE_DIR}”)
包含实际的具体意义的变量
- 头文件:INCLUDE_DIRECTORIES(dir1 dir2 …) #里面直接添加要包含的头文件的路径,多个使用空格分开
- 源文件:AUX_SOURCE_DIRECTORY(dir SRC_LIST)#将目录中所有源文件赋值给DIR_SRC, set 定义的变量也可以实现此功能
- 库文件路径:LINK_DIRECTORIES(dir1 dir2 …) #将要链接的库的位置添加,相当于 -L
- 生成可执行文件:ADD_EXECUTABLE(bin_file_name ${SRC_LIST}) #使用哪些原文件生成可执行文件
- 生成静态库或者动态库 :add_library(libname [SHARED | STATIC $(SRC_LIST)) #SHARED 动态库 STATIC 静态库
- 生成文件需要链接哪些库:target_link_libraries(target lib lib lib …) #相当于makefile中的链接
-编译后生成文件安装位置:install (TARGETS target DESTINATION 文件夹)