Jue*_*gen 31 search cmake include
假设我们foo在CMakeLists.txt中有一个命令调用,它位于文件夹中/A.
foo在文件夹中的另一个CMakeLists.txt中定义/B.
如何/B/CMakeLists.txt从内部引用/A/CMakeLists.txt以便调用foo?
我试图将搜索路径设置为/B/CMakeLists.txtvia:
CMAKE_INCLUDE_PATHCMAKE_MODULE_PATHCMAKE_SOURCE_DIR但他们都没有工作.
CMake仍然抱怨 Unknown CMake command "foo".
Gui*_*ume 40
这可以用include,这里有一些简单的例子:
A/CMakeLists.txt的内容
function(foo)
message(STATUS "heya")
endfunction()
Run Code Online (Sandbox Code Playgroud)
B/CMakeLists.txt的内容
cmake_minimum_required(VERSION 2.8)
include(${CMAKE_CURRENT_SOURCE_DIR}/../A/CMakeLists.txt)
foo()
Run Code Online (Sandbox Code Playgroud)
现在,包括另一个CMakeLists.txt也将运行该文件中的所有内容,因此如果B/CMakeLists.txt中有目标,您可能希望避免这样做
如果您可以修改代码,最好在调用之前在"顶级"CMakeLists.txt中定义函数add_subdirectory.
| 归档时间: |
|
| 查看次数: |
38810 次 |
| 最近记录: |