improve cmake setup

Signed-off-by: Folling <mail@folling.io>
This commit is contained in:
Folling 2024-02-15 22:04:37 +01:00 committed by Folling
parent 23e38156d7
commit 2c09ff48ca
No known key found for this signature in database
6 changed files with 14 additions and 25 deletions

3
.gitmodules vendored
View file

@ -7,3 +7,6 @@
[submodule "vendor/doxygen-awesome-css"]
path = vendor/doxygen-awesome-css
url = git@github.com:jothepro/doxygen-awesome-css.git
[submodule "vendor/cppbase"]
path = vendor/cppbase
url = ssh://git@git.rewritesarebliss.com:16658/Folling/cppbase.git

View file

@ -5,13 +5,6 @@ option(LIBIKARUS_ENABLE_TESTS "Enable tests" OFF)
option(LIBIKARUS_ENABLE_LINTS "Enable linting" OFF)
option(LIBIKARUS_BUILD_DOCS "Build documentation" OFF)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
add_subdirectory(vendor)
add_subdirectory(include)
add_subdirectory(src)
@ -24,6 +17,13 @@ add_library(
${SOURCE_FILES}
)
set_target_properties(
ikarus PROPERTIES
CXX_STANDARD 23
CXX_STANDARD_REQUIRED ON
POSITION_INDEPENDENT_CODE TRUE
)
target_include_directories(
ikarus PUBLIC
${CMAKE_CURRENT_LIST_DIR}/include
@ -57,21 +57,6 @@ if (LIBIKARUS_ENABLE_LINTS)
)
endif ()
if (LIBIKARUS_ENABLE_TESTS)
add_executable(libikarus_tests ${SOURCE_FILES})
target_link_libraries(libikarus_tests PRIVATE sqlitecpp Catch2::Catch2WithMain)
target_include_directories(
libikarus_tests PRIVATE
${CMAKE_CURRENT_LIST_DIR}/include
${CMAKE_CURRENT_LIST_DIR}/src
)
include(CTest)
include(vendor/catch2/extras/Catch.cmake)
catch_discover_tests(libikarus_tests)
endif ()
if (LIBIKARUS_BUILD_DOCS)
find_program(DOXYGEN_PATH NAMES doxygen REQUIRED)
add_custom_target(

View file

@ -1,2 +1,3 @@
add_subdirectory(catch2)
# order is important here since sqlitecpp otherwise duplicates cppbase
add_subdirectory(cppbase)
add_subdirectory(sqlitecpp)

1
vendor/catch2 vendored

@ -1 +0,0 @@
Subproject commit 5bba3e4038602badb691da914523f667a2dd1f27

1
vendor/cppbase vendored Submodule

@ -0,0 +1 @@
Subproject commit 6bf80cf9d5ff54ab300f7e88a8cb9996f441dae6

2
vendor/sqlitecpp vendored

@ -1 +1 @@
Subproject commit 7832ea68dca4c8367dd938b079a01ccffe6a7acd
Subproject commit 4a97c47847cbe9cf610a636137f678b447cdde5a