CMakeLists.txt
一些用法
$
取值符
CMAKE_CURRENT_SOURCE_DIR
当前文件夹
LIBRARIES_OUTPUT_PATH
库输出的目录
一些基本语法
// 注意在CMakeLists.txt中,语法不分大小写
cmake_minimum_required(cmake版本号)
cmake_minimum_required(VERSION 3.0)
project(项目名)
project(myproject)
set(别名 参数)
set(LIBRARIES_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib)
include_directories(头文件路径)
include_directories(
…/mycode/include 【这里返回上一级目录应该是两个点,但是文档只能打三个点。。。注意】
${CMAKE_CURRENT_SOURCE_DIR}/mycode/include
)
link_directories(库文件路径)
// include是包含头文件的,link是链接库的
link_directorier(/root/myproject/lib)
上面是绝对路径
link_directories(${CMAKE_CURRENT_SOURCE_DIR}/lib)
相对路径
target_link_libraries(项目名 库名)
// 这个后续补充,目前的了解是,target_link_libraries是链接动态库的,也就是编译时链接。而上述的link_directories是链接静态库的,编译前链接
target_link_libraries(myproject
gtest
gmock
library_name
)
add_subdirectories(子文件夹路径)
// 注意子文件夹里也要有CMakeLists.txt,否则会报错
add_subdirectories(mainsrc)
// 每层的CMakeLists.txt是有联系的
add_executable(可执行文件名 源文件名)
add_executable(${PROJECT_NAME}
test1.cpp
)
本次记录大概如上,后续可能会有补充。