libikarus/CMakeLists.txt
Folling 8eb2067318
a new beginning
Signed-off-by: Folling <mail@folling.io>
2025-04-15 12:07:55 +02:00

55 lines
1,011 B
CMake

cmake_minimum_required(VERSION 3.18)
project(ikarus)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
add_subdirectory(vendor)
add_subdirectory(include)
add_subdirectory(src)
add_library(
libikarus OBJECT
${INCLUDE_FILES}
${SOURCE_FILES}
)
target_include_directories(
libikarus PUBLIC
${CMAKE_CURRENT_LIST_DIR}/include
)
target_include_directories(
libikarus PRIVATE
${CMAKE_CURRENT_LIST_DIR}/src
)
target_link_libraries(
libikarus PUBLIC
Catch2::Catch2WithMain
)
target_link_libraries(
libikarus PRIVATE
cppbase
sqlitecpp
)
set_target_properties(
libikarus PROPERTIES
LINKER_LANGUAGE CXX
)
add_executable(ikarus_tests ${SOURCE_FILES})
target_link_libraries(ikarus_tests PRIVATE Catch2::Catch2WithMain)
target_include_directories(
ikarus_tests PUBLIC
${CMAKE_CURRENT_LIST_DIR}/include
)
include(CTest)
include(vendor/catch2/extras/Catch.cmake)
catch_discover_tests(ikarus_tests)