изменить CMAKE_CURRENT_SOURCE_DIR - PullRequest
0 голосов
/ 06 марта 2019

В моем 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 Ответ

2 голосов
/ 06 марта 2019

Есть ли способ действительно изменить CMAKE_CURRENT_SOURCE_DIR?

Использовать add_subdirectory(qqq).

Серьезно, CMAKE_CURRENT_SOURCE_DIR обозначаетрасположение CMakeLists.txt, которое в данный момент обрабатывается.Некоторые функции CMake (даже внутренние) сильно зависят от этого свойства переменной.Эта переменная НЕ должна изменяться вручную .


Все переменные, относящиеся к каталогам SOURCE или BINARY, должны рассматриваться как readonly .Среди них:

  • CMAKE_SOURCE_DIR
  • CMAKE_BINARY_DIR
  • CMAKE_CURRENT_SOURCE_DIR
  • CMAKE_CURRENT_BINARY_DIR
  • _BINARY_DIR
  • PROJECT_SOURCE_DIR
  • PROJECT_BINARY_DIR
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...