You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
CBLib/CMakeLists.txt

64 lines
2.2 KiB
CMake

cmake_minimum_required(VERSION 3.24)
#######################################################################################################################
# Project properties
#######################################################################################################################
project(cblib VERSION 1.0.0 DESCRIPTION "CB library")
include(cmake/CMakeSettings.cmake)
#######################################################################################################################
# Project properties
#######################################################################################################################
set(CBLIB_SOURCE_DIR src/cb)
set(CBLIB_INCLUDE_DIR include/cb)
set(CBLIB_HEADERS
${CBLIB_INCLUDE_DIR}/cb.h # contains combined includes
${CBLIB_INCLUDE_DIR}/base.h
${CBLIB_INCLUDE_DIR}/types/types.h
${CBLIB_INCLUDE_DIR}/time/time.h
${CBLIB_INCLUDE_DIR}/test/test.h
${CBLIB_INCLUDE_DIR}/string_utils/string_utils.h
)
set(CBLIB_SOURCES
${CBLIB_SOURCE_DIR}/base.cpp
${CBLIB_SOURCE_DIR}/types/types.cpp
${CBLIB_SOURCE_DIR}/time/time.cpp
${CBLIB_SOURCE_DIR}/test/test.cpp
${CBLIB_SOURCE_DIR}/string_utils/string_utils.cpp
)
add_library(${PROJECT_NAME} STATIC
${CBLIB_SOURCES}
)
#######################################################################################################################
# Buildling library
#######################################################################################################################
target_include_directories(${PROJECT_NAME}
PUBLIC
$<INSTALL_INTERFACE:include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/src
)
#######################################################################################################################
# Tests
#######################################################################################################################
if (CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
include(CTest)
endif ()
if (CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME AND BUILD_TESTING)
add_subdirectory(tests)
endif ()