Я хотел бы добавить все заголовки в проект cmake. Вариант использования заключается в том, что я получаю этот список заголовков и вызываю некоторые пользовательские проверки на них. Я бы очень хотел, чтобы это было механизмом запросов для устранения ошибок в надзоре.Добавлены заголовки запросов к проекту cmake
Я не заинтересован в подгонке файловой системы, поскольку могут существовать заголовки, которые не подходят для каждой платформы. Это тоже плохо.
Это то, что я хотел бы, чтобы использование выглядело.
add_library(example_lib
foo.h
foo.cpp
bar.h
bar.cpp
)
add_executable(example main_example.cpp)
target_link_libraries(example example_lib)
# this is the feature I am interested in
get_target_headers(example_header example)
# alternatively
get_target_headers(example_header example example_lib)
do_custom_thing("${example_header}")
Более ручной способ сделать это будет чем-то вроде ниже. Я бы просто повторно использовал переменную example_header
, чтобы выполнить пользовательскую проверку.
set(example_header
foo.h
bar.h
)
set(example_source
foo.cpp
bar.cpp
)
add_library(example_lib
${example_header}
${example_source}
)
add_executable(example main_example.cpp)
target_link_libraries(example example_lib)
do_custom_thing("${example_header}")
Это то, что я сейчас делаю, и это работает, мне просто интересно, есть ли лучший способ.
Обычно я делаю это, как ваш второй пример. – drescherjm