调用cmake文件
比如在CMakeLists.txt
中 include("${YOUR_CMAKE_DIR}/functions.cmake")
,然后可以调用其中的函数。
target_include_directories
file GLOB_RECURSE
格式为 file(GLOB variable [RELATIVE path] [globbingexpressions]...)
典型应用:1
2file(GLOB_RECURSE cpps *.cpp)
message(STATUS "cpps: ${cpps}")
GLOB_RECURSE 与GLOB类似,区别在于它会遍历匹配目录的所有文件以及子目录下面的文件。
1 | file(GLOB_RECURSE ALL_SRCS "*.cc" "*.h") |
option
option(<variable> "<help_text>" [value])
对于value,不给定或给定其他值都默认 OFF
实际使用时可以作为开关使用1
2
3
4
5
6
7cmake_minimum_required(VERSION 3.5)
project(test_6)
option(OPENGL_VIEW "Enable GLUT OpenGL point cloud view" ON)
if(OPENGL_VIEW)
...
endif()
foreach
foreach与C++里的功能一样,语法略有不同1
2
3
4
5set(dirs abc foo nfk) # 三个字符串加到dirs里面
message(STATUS "dirs: ${dirs}")
foreach(dir ${dirs})
message(STATUS "dir: ${dir}")
endforeach(dir ${dirs})
运行结果:1
2
3
4-- dirs: abc;foo;nfk
-- dir: abc
-- dir: foo
-- dir: nfk