更改CMAKE_CURRENT_SOURCE_DIR

时间:2019-03-06 17:19:50

标签: cmake

在我的 CMakeLists.txt 中,我可以轻松更改 CMAKE_CURRENT_SOURCE_DIR

set(CMAKE_CURRENT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/qqq )

从现在开始,我将在所有CMake语句,函数等中看到新值。但这不会影响文件查找。以下语句仍然有效

add_library(t SHARED qqq/rrr.cpp)

这失败了:

add_library(t SHARED rrr.cpp)

有没有办法更改 CMAKE_CURRENT_SOURCE_DIR

1 个答案:

答案 0 :(得分:2)

  

有没有一种方法可以真正更改 CMAKE_CURRENT_SOURCE_DIR

使用add_subdirectory(qqq)

严重地,CMAKE_CURRENT_SOURCE_DIR表示当前正在处理的CMakeLists.txt的位置。一些CMake函数(甚至是内部函数)在很大程度上依赖于变量的此属性。 不应手动更改此变量


所有引用SOURCEBINARY目录的变量都应视为只读。其中:

  • CMAKE_SOURCE_DIR
  • CMAKE_BINARY_DIR
  • CMAKE_CURRENT_SOURCE_DIR
  • CMAKE_CURRENT_BINARY_DIR
  • _SOURCE_DIR
  • _BINARY_DIR
  • PROJECT_SOURCE_DIR
  • PROJECT_BINARY_DIR