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 dedd6a6ba1
commit d72059aa74
Signed by: folling
SSH key fingerprint: SHA256:S9qEx5WCFFLK49tE/LKnKuJYM5sw+++Dn6qJbbyxnCY
6 changed files with 14 additions and 25 deletions

3
.gitmodules vendored
View file

@ -7,3 +7,6 @@
[submodule "vendor/doxygen-awesome-css"] [submodule "vendor/doxygen-awesome-css"]
path = vendor/doxygen-awesome-css path = vendor/doxygen-awesome-css
url = git@github.com:jothepro/doxygen-awesome-css.git 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_ENABLE_LINTS "Enable linting" OFF)
option(LIBIKARUS_BUILD_DOCS "Build documentation" 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(vendor)
add_subdirectory(include) add_subdirectory(include)
add_subdirectory(src) add_subdirectory(src)
@ -24,6 +17,13 @@ add_library(
${SOURCE_FILES} ${SOURCE_FILES}
) )
set_target_properties(
ikarus PROPERTIES
CXX_STANDARD 23
CXX_STANDARD_REQUIRED ON
POSITION_INDEPENDENT_CODE TRUE
)
target_include_directories( target_include_directories(
ikarus PUBLIC ikarus PUBLIC
${CMAKE_CURRENT_LIST_DIR}/include ${CMAKE_CURRENT_LIST_DIR}/include
@ -57,21 +57,6 @@ if (LIBIKARUS_ENABLE_LINTS)
) )
endif () 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) if (LIBIKARUS_BUILD_DOCS)
find_program(DOXYGEN_PATH NAMES doxygen REQUIRED) find_program(DOXYGEN_PATH NAMES doxygen REQUIRED)
add_custom_target( 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) 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