通常我们会复用一些cmake指令(比如将某些指令封装为函数),将其写到某一个.cmake文件中,然后在我们的CMakeLists.txt使用include命令把.cmake文件包含进来使用里面的函数等。
本例子目录结构:
.
├── build
├── cmake
│ └── test.cmake
└── CMakeLists.txt
test.cmake文件内容增加一个打印字符串的函数:
function(print_string str)
message("str=${str}")
endfunction(print_string)
在CMakeLists.txt中进行include然后调用函数。
包含方式有两种:
1. 直接包含路径及.cmake文件名
2. 先设置CMAKE_MODULE_PATH变量,再包含文件(**不要带.cmake文件扩展名,带了会提示找不到**)
cmake_minimum_required(VERSION 3.5)
project(cmake_test)
#方式一:直接包含路径及.cmake文件
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/test.cmake)
#方式二:先设置CMAKE_MODULE_PATH变量,这个变量是定义.cmake文件的搜索目录的
# set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/)
# include(test) ##不要写成test.cmake
print_string("cmake test")