Когда использовать CMAKE_CURRENT_LIST_DIR? - PullRequest
1 голос
/ 27 апреля 2020

Я пытаюсь выяснить, для каких команд безопаснее использовать относительный путь, например src/foo.c, а когда лучше использовать ${CMAKE_CURRENT_LIST_DIR}/src/foo.c

Команды, с которыми мне нужна помощь:

add_library(myLib 
    src/foo.c)
# or
add_library(myLib 
    ${CMAKE_CURRENT_LIST_DIR}/src/foo.c)


add_executable(myExe 
    src/bar.c) 
# or 
add_executable(myExe 
    ${CMAKE_CURRENT_LIST_DIR}/src/bar.c)


target_include_directories(myLib 
    include) 
# or
target_include_directories(myLib 
    ${CMAKE_CURRENT_LIST_DIR}/include)


target_sources(myExe 
    src/foobar.c 
    src/baz.c) 
# or 
target_sources(myExe 
    ${CMAKE_CURRENT_LIST_DIR}/src/foobar.c 
    ${CMAKE_CURRENT_LIST_DIR}/src/baz.c)

Я знаю, что это должно быть проблемой, только когда кто-то использует include() вместо add_subdirectory() в CMakeLists.txt верхнего уровня. Хотел бы я когда-нибудь даже использовать include() вместо add_subdirectory() для файла CMakeLists, содержащего не намного больше, чем приведенные выше команды, и, может быть, может просто не заботиться и постоянно использовать простые относительные пути?

Приветствия,

andb

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...