【发布时间】:2020-10-13 08:42:14
【问题描述】:
首先,如果问题已得到解答,但我找不到任何解决方案,我很抱歉。
我正在尝试用 cmake 编译一个简单的程序。 但我似乎无法包含绝对路径。
我的项目(位于C:/path/to/my/project 以便理解)很简单,带有一个带有头文件的include 目录。但是,我必须在其他地方完全包含另一个目录。
我的include_directories 看起来像这样:
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include" "C:/path/to/my/other/directory/include")
但是当我这样做时:
get_property(dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES)
foreach(dir ${dirs})
message(STATUS "dir='${dir}'")
endforeach()
要检查我的包含目录,我有以下答案:
-- dir='/c/path/to/my/project/include'
-- dir='/c/path/to/my/project/C:/path/to/my/other/directory/include'
所以cmake 将路径解释为相对于我的项目文件夹。
我如何强制 cmake 将它们解释为绝对的?
我正在使用cmake v3.17.3。
编辑
我已经尝试过这样做,但它似乎也不起作用,因为路径没有附加到我的目标的 INCLUDE_DIRECTORIES 属性中。
add_executable(app src1.c src2.c)
target_include_directories(app BEFORE PRIVATE "C:/path/to/my/other/directory/include")
提前谢谢你。
【问题讨论】:
标签: cmake