Как изменить путь к $ {CMAKE_CURRENT_SOURCE_DIR}? - PullRequest
0 голосов
/ 14 июля 2020

Я распечатываю путь ${CMAKE_CURRENT_SOURCE_DIR}, который сопоставлен с /user/document/adcfile/abd/src

. Я хочу изменить его и позволить сопоставить его с /user/document/adcfile/abd (один слой выше). Как я могу его изменить?

Я использую git submodule add http:/(source code link), чтобы добавить эту стороннюю библиотеку в свой проект. В моем проекте я использую приведенный ниже код для связывания этой библиотеки с моим проектом, и он работает хорошо.

include_directories("${CMAKE_CURRENT_SOURCE_DIR}/path")

target_link_libraries(projectName clientA)
target_link_libraries(projectName clientB)

В моем. cpp файле я добавляю файл заголовка, но в нем упоминается, что он может не найдено.

1 Ответ

0 голосов
/ 14 июля 2020

Переменная CMAKE_CURRENT_SOURCE_DIR и другие аналогичные переменные устанавливаются CMake во время процесса настройки и предназначены для только для чтения .

Вместо того, чтобы пытаться изменить CMAKE_CURRENT_SOURCE_DIR для соответствия некоторому другому месту в вашем исходном дереве, вы можете использовать переменную CMAKE_SOURCE_DIR, чтобы получить папку root вашего исходного дерева. Используя это, вы можете добавлять каталоги, чтобы правильно указывать на нужные вам заголовки подпроекта:

include_directories("${CMAKE_SOURCE_DIR}/path/to/subproject/includes")
...