指令:include
作用:从文件或模块加载并运行CMake代码。
形式:
include(<file|module> [OPTIONAL] [RESULT_VARIABLE ]
[NO_POLICY_SCOPE])
说明:
- 变量读写范围为调用此指令的调用者的范围,因此,具有动态范围即取决于调用者;
- 如果“OPTIONAL”被指定,则指定的文件不存在时,不会产生任何错误;
- 如果“RESULT_VARIABLE”被给予了变量,则会赋值给变量完整的文件名(即<file|module>)或者在失败时赋值为“NOTFOUND ”。
应用举例:
# Check C++11 or C++0x support
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
add_definitions(-DCOMPILEDWITHC11)
message(STATUS "Using flag -std=c++11.")
elseif(COMPILER_SUPPORTS_CXX0X)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
add_definitions(-DCOMPILEDWITHC0X)
message(STATUS "Using flag -std=c++0x.")
else()
message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
endif()
参考:
https://cmake.org/cmake/help/v3.0/command/include.html?highlight=include
https://github.com/raulmur/ORB_SLAM2