在 CMakeLists.txt 中包含来自其他文件的说明
Include instructions from other file in CMakeLists.txt
我想创建第二个文件,例如 Instructions.txt,并能够将其 CMake 指令包含到主 CMakeLists.txt,例如:
// Instructions.txt
set(MY_VARIABLE value)
set(MY_SECOND_VARIABLE 1234)
// CMakeLists.txt
<HERE INCLUDE INSTRUCTIONS.TXT>
// And be able to use those variables, for example
project(MY_VARIABLE)
您通常只需使用另一个 cmake 即可做到这一点。
与您可能认为的相反,其他文件的文件扩展名不同于构建文件。
我们称这个文件为instructions.cmake
:
set(MY_VARIABLE value)
set(MY_SECOND_VARIABLE 1234)
然后你可以像这样把它包含在你的 CMakeLists.txt
:
include(instructions.cmake)
如果文件在模块路径中,您可以像这样包含它:
include(instructions)
还有一些其他文件名对 CMake 很重要。
例如,任何以 Find
开头然后以 .cmake
结尾的文件,如 FindXYZ.cmake
,XYZ
部分被假定为包名称,并且在该文件中如果你应该使用 find_package(XYZ REQUIRED)
.
我想创建第二个文件,例如 Instructions.txt,并能够将其 CMake 指令包含到主 CMakeLists.txt,例如:
// Instructions.txt
set(MY_VARIABLE value)
set(MY_SECOND_VARIABLE 1234)
// CMakeLists.txt
<HERE INCLUDE INSTRUCTIONS.TXT>
// And be able to use those variables, for example
project(MY_VARIABLE)
您通常只需使用另一个 cmake 即可做到这一点。
与您可能认为的相反,其他文件的文件扩展名不同于构建文件。
我们称这个文件为instructions.cmake
:
set(MY_VARIABLE value)
set(MY_SECOND_VARIABLE 1234)
然后你可以像这样把它包含在你的 CMakeLists.txt
:
include(instructions.cmake)
如果文件在模块路径中,您可以像这样包含它:
include(instructions)
还有一些其他文件名对 CMake 很重要。
例如,任何以 Find
开头然后以 .cmake
结尾的文件,如 FindXYZ.cmake
,XYZ
部分被假定为包名称,并且在该文件中如果你应该使用 find_package(XYZ REQUIRED)
.