LIB1 , biblioteka statyczna ktora podczas dzialania wymaga plików z folderu "settings"
src => źródła biblioteki
settings => folder z plikami binarnymi wymaganymi przez bibliotekę w czasie uruchomienia
aux_source_directory(src SRC_FILES)
add_library(lib1 STATIC ${SRC_FILES})
set(LIB1_DIR_SETTINGS ${CMAKE_CURRENT_SOURCE_DIR}/settings CACHE STRING "Module folder settings" )
target_include_directories(lib1 PUBLIC .)
APP1 , aplikacja która używa lib1 , aby skopiować plik binarne z biblioteki używam add_custom_command oraz zmiennej ${LIB1_DIR_SETTINGS}
add_executable(app1 main.cpp)
target_link_libraries(app1 lib1)
add_custom_command(TARGET app1 POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIB1_DIR_SETTINGS} ${CMAKE_CURRENT_BINARY_DIR}/settings )
Czy da rade to zrobić jakoś lepiej ?
Czy samo użycie biblioteki mogło wy wymusić jakieś zdarzenie POST_BUILD w miejscu gdzie jest użyta ?