# Название основной цели и имя библиотеки в текущем каталоге 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 $) # Компоновка с библиотекой из внешнего проекта target_link_libraries(${TRGT} ${CMAKE_BINARY_DIR}/lib/libcmlib-example.a) # Имя выходного файла для цели set_target_properties(${TRGT} PROPERTIES OUTPUT_NAME ${TRGT}) # Правила для установки install(TARGETS ${TRGT} COMPONENT MAIN RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})