improve cmake setup
Signed-off-by: Folling <mail@folling.io>
This commit is contained in:
parent
23e38156d7
commit
2c09ff48ca
6 changed files with 14 additions and 25 deletions
3
.gitmodules
vendored
3
.gitmodules
vendored
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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(
|
||||||
|
|
|
||||||
3
vendor/CMakeLists.txt
vendored
3
vendor/CMakeLists.txt
vendored
|
|
@ -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
vendor/catch2
vendored
|
|
@ -1 +0,0 @@
|
||||||
Subproject commit 5bba3e4038602badb691da914523f667a2dd1f27
|
|
||||||
1
vendor/cppbase
vendored
Submodule
1
vendor/cppbase
vendored
Submodule
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 6bf80cf9d5ff54ab300f7e88a8cb9996f441dae6
|
||||||
2
vendor/sqlitecpp
vendored
2
vendor/sqlitecpp
vendored
|
|
@ -1 +1 @@
|
||||||
Subproject commit 7832ea68dca4c8367dd938b079a01ccffe6a7acd
|
Subproject commit 4a97c47847cbe9cf610a636137f678b447cdde5a
|
||||||
Loading…
Add table
Add a link
Reference in a new issue