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}/argparser/argument_parser.h ${CBLIB_INCLUDE_DIR}/argparser/argument.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}/argparser/argument_parser.cpp ${CBLIB_SOURCE_DIR}/string_utils/string_utils.cpp ) add_library(${PROJECT_NAME} STATIC ${CBLIB_SOURCES} ) ####################################################################################################################### # Buildling library ####################################################################################################################### target_include_directories(${PROJECT_NAME} PUBLIC $ $ 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 ()