diff options
author | bd <bdunahu@operationnull.com> | 2025-04-11 23:09:49 -0400 |
---|---|---|
committer | bd <bdunahu@operationnull.com> | 2025-04-11 23:09:49 -0400 |
commit | df580c5352528a4837b996a838f486d3838050a4 (patch) | |
tree | 72671b34d6baf1ea2ec4cd02f73fe51338ce0b6d /CMakeLists.txt | |
parent | 3eeb345d673bee6d62b04fc8a8a95ab822dc1e45 (diff) |
Move storage to a separate git repository.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 9daac12..c7918b5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,12 +1,27 @@ cmake_minimum_required(VERSION 3.5) -set(CMAKE_CXX_COMPILER "g++") project(risc_vector) +find_package(Git QUIET) +if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git") + execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init --remote --recursive + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + RESULT_VARIABLE GIT_SUBMOD_RESULT) + if(NOT GIT_SUBMOD_RESULT EQUAL "0") + message(FATAL_ERROR "git submodule update --init --recursive failed with ${GIT_SUBMOD_RESULT}, please checkout submodules") + endif() +endif() + +if(NOT EXISTS "${PROJECT_SOURCE_DIR}/ram/CMakeLists.txt") + message(FATAL_ERROR "The submodules were not downloaded! GIT_SUBMODULE was turned off or failed. Please update submodules and try again.") +endif() + set(CMAKE_EXPORT_COMPILE_COMMANDS ON) add_compile_options(-Wall -lstdc++ -g -O0) add_compile_options(-Wextra -Wpedantic) +set(RAM ram) + # cpp standard set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) @@ -16,7 +31,11 @@ include_directories( ${PROJECT_SOURCE_DIR}/inc ) -# add gui +# don't build RAM's tests +set(RAM_TESTS OF CACHE BOOL "" FORCE) + +# add submodules +add_subdirectory(${RAM}) add_subdirectory(gui) # gather source files @@ -28,7 +47,7 @@ qt_standard_project_setup() # binary executable add_library(${PROJECT_NAME}_lib ${SRCS}) -target_link_libraries(${PROJECT_NAME}_lib) +target_link_libraries(${PROJECT_NAME}_lib ${RAM}_lib) find_package(Catch2 REQUIRED) @@ -36,10 +55,10 @@ find_package(Catch2 REQUIRED) file(GLOB_RECURSE TESTS "tests/*.cc") # test executable -add_executable(tests ${SRCS} ${TESTS}) -target_link_libraries(tests PRIVATE Catch2::Catch2WithMain PRIVATE) +add_executable(test_rv ${SRCS} ${TESTS}) +target_link_libraries(test_rv PRIVATE Catch2::Catch2WithMain PRIVATE ${RAM}_lib) # test discovery include(CTest) include(Catch) -catch_discover_tests(tests) +catch_discover_tests(test_rv) |