Header-only CMake библиотека

Оказалось в CMake очень легко сделать header-only либу


cmake_minimum_required(VERSION 2.8.8)
set(PROJECT_NAME MojitoReflection)
project(${PROJECT_NAME}) 
# Ключевой момент. add_library без исходников и парметром INTERFACE
add_library(${PROJECT_NAME} INTERFACE) 
# Следующая строчка не обязательна, нужно только чтоб видеть исходники в проекте IDE
file(GLOB PROJECT_SOURCES "${PROJECT_SOURCE_DIR}/src/*.hpp" "${PROJECT_SOURCE_DIR}/src/*.cpp") 
# Следующая строчка не обязательна, нужно только чтоб видеть исходники в проекте IDE
target_sources(${PROJECT_NAME} INTERFACE ${PROJECT_SOURCES}) 
# Указываем путь к заголовочникам
target_include_directories(${PROJECT_NAME} INTERFACE ./src/)



Подключаем:

add_subdirectory("../reflection" "MojitoReflection/")
target_link_libraries(${PROJECT_NAME} MojitoReflection)

Комментарии

Популярные сообщения из этого блога

Siege Up! Editor (beta)

Движок моей мечты на Си

STM32F4 и программный выход в DFU