Професионална програма
Loading...
+ Нов въпрос
Aleksandar_Aleksiev avatar Aleksandar_Aleksiev 4 Точки

APPEND в CMAKE на файл от директория, която не съществува

Здравейте,

забелязах, че във файла helpers.cmake имаме APPEND на:

list(APPEND
    CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/find_modules),

но такава директория не съществува. За сметка на това имаме директория "cmake_helpers", която в себе си съдържа "find_modules".

Въпросът ми е - не трябва ли да се APPEND-не "/cmake_helpers/find_modules", а не "/cmake_modules/find_modules"?

Ако трябва, как и защо до този момент няма индикация за warning/error?

Благодаря!

Тагове:
2
C++ Applications Development
j.petrov_90 avatar j.petrov_90 370 Точки
Best Answer

Привет, Aleksandar_Aleksiev,

Имаш добро око.
Нали се сещаш как първата лекция дебъгвах 15 мин защо find_package() функцията не работи? :)
Оказа се, че това е един от главните проблеми.

Доверих се сляпо на copy/paste файлът, който ви бях подготвил.
Този същият, който ти ми цитираш.

Сега на въпроса ти - защо работи?
Прав си, че се извиква
list(APPEND
    CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/find_modules)
а всъщност папката се казва cmake_helpers.

"Забих" тази команда тук, защото исках да не я пишете вие.
Жалко за мен - преименувал съм папката в последствие.

За да го накарам да работи - в основният CMakeLists направих следното:
set(CMAKE_MODULE_PATH 
    ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake_helpers/find_modules)
Което прави същото - append-ване.

И то сега какво излиза? Че и двата пътя са изброени вътре.
Пробвай да принтираш съдържанието на променливата CMAKE_MODULE_PATH.
Естествено след като си include-нал cmake_helpers и след като си сетнал променливата.
Това става с командата message("Hello World!")
 

message("The value of 'CMAKE_MODULE_PATH' is ${CMAKE_MODULE_PATH}")
При мен излизат и двете.
Забележи, че всъщност това е списък, където стойностите са разделени с ';'

/home/zhivko/Scaling_And_Alpha_Blending/cmake_modules/find_modules;/home/zhivko/Scaling_and_Alpha_Blending/cmake_helpers/find_modules


Поздрави,
Живко

1
19/10/2021 14:17:46