29 lines
1.4 KiB
CMake
29 lines
1.4 KiB
CMake
# Название основной цели и имя библиотеки в текущем каталоге
|
||
set(TRGT cmlib-example)
|
||
|
||
# Список файлов исходных текстов
|
||
set(TRGT_cpp ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp)
|
||
|
||
# Функция для создания цели, результатом которой будет сборка приложения
|
||
add_executable(${TRGT} ${TRGT_cpp})
|
||
common_target_properties(${TRGT})
|
||
|
||
# Добавление к пути поиска заголовочных файлов
|
||
target_include_directories(${TRGT} SYSTEM PUBLIC ${Boost_INCLUDE_DIRS})
|
||
|
||
# Зависимость от библиотеки из внешнего проекта проекта
|
||
add_dependencies(${TRGT} ext-lib)
|
||
|
||
# Добавление каталога, в который устанавливаются заголовочные файлы
|
||
# от внешнего проекта, к списку путей для поиска
|
||
target_include_directories(${TRGT} PUBLIC $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>)
|
||
|
||
# Компоновка с библиотекой из внешнего проекта
|
||
target_link_libraries(${TRGT} ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libcmlib-example.a)
|
||
|
||
# Имя выходного файла для цели
|
||
set_target_properties(${TRGT} PROPERTIES OUTPUT_NAME ${TRGT})
|
||
|
||
# Правила для установки
|
||
install(TARGETS ${TRGT} COMPONENT main RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|