Добрый день, имеется проект, который со временем будет допиливаться.
Имеет он следующую структуру:
-include
--Core
---*.h
-source
--Core
---*.cpp
-tests
--tests_main.cpp
--Core
---*_tests.cpp
Подскажите, пожалуйста как я могу сделать 2 сборки с помощью одного файла cmake?
Т.е. мне нужно чтобы я мог собирать свою библиотеку, а также запускать тесты (по сути надо подключать все файлы + файлы тестов)
Ещё раз если обобщить мне необходимо уметь делать так:
make build;
make tests;
В первом случае будет собираться библиотека, а во втором будет собираться библиотека + прогоняться функциональные тесты
На текущий момент CMakeLists.txt выглядит так:
cmake_minimum_required(VERSION 3.8)
#--- имя проекта совпадает с именем каталога проекта
get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME)
#--- имя главной цели. CXX значает, что проект на с++
project( ${PROJECT_NAME} CXX )
########################################################################################################################
#--- обработка хедеров
if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include)
list(APPEND PATH_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}/include)
FILE (GLOB_RECURSE HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/include/*)
endif()
include_directories(${PATH_INCLUDES})
########################################################################################################################
#--- обработка cpp-файлов
FILE (GLOB_RECURSE SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/source/*)
########################################################################################################################
#--- создание цели проекта
add_library(${PROJECT_NAME} ${SOURCES} ${HEADERS} )
########################################################################################################################
# TESTS
########################################################################################################################
Структура проекта:
Заранее спасибо!
Имеет он следующую структуру:
-include
--Core
---*.h
-source
--Core
---*.cpp
-tests
--tests_main.cpp
--Core
---*_tests.cpp
Подскажите, пожалуйста как я могу сделать 2 сборки с помощью одного файла cmake?
Т.е. мне нужно чтобы я мог собирать свою библиотеку, а также запускать тесты (по сути надо подключать все файлы + файлы тестов)
Ещё раз если обобщить мне необходимо уметь делать так:
make build;
make tests;
В первом случае будет собираться библиотека, а во втором будет собираться библиотека + прогоняться функциональные тесты
На текущий момент CMakeLists.txt выглядит так:
Кликните здесь для просмотра всего текста
cmake_minimum_required(VERSION 3.8)
#--- имя проекта совпадает с именем каталога проекта
get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME)
#--- имя главной цели. CXX значает, что проект на с++
project( ${PROJECT_NAME} CXX )
########################################################################################################################
#--- обработка хедеров
if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include)
list(APPEND PATH_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}/include)
FILE (GLOB_RECURSE HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/include/*)
endif()
include_directories(${PATH_INCLUDES})
########################################################################################################################
#--- обработка cpp-файлов
FILE (GLOB_RECURSE SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/source/*)
########################################################################################################################
#--- создание цели проекта
add_library(${PROJECT_NAME} ${SOURCES} ${HEADERS} )
########################################################################################################################
# TESTS
########################################################################################################################
Структура проекта:
Кликните здесь для просмотра всего текста
Заранее спасибо!