Refactor CMakeLists and GitLab CI/CD pipeline

- Remove nested minimum required to supress warnings.
- Declare SystemC as system library to supress warnings in headers.
- Add a BUILD_SHARED_LIBS option
- Remove hardcoded STATIC in various add_library calls to honor the
  BUILD_SHARED_LIBS option
- Remove _deps/ directory from the build directory in GitLab pipeline
- Remove *.tdb files after test stage in pipeline
- Set Ninja as the default generator for the dev preset and re-enable
  colored diagnostics
This commit is contained in:
2024-06-28 09:04:34 +02:00
parent 3159cf038b
commit 5dd7c22a74
13 changed files with 17 additions and 21 deletions

View File

@@ -89,6 +89,8 @@ set(DRAMSYS_RESOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/configs")
set(DRAMSYS_EXTENSIONS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/extensions")
### Build options ###
option(BUILD_SHARED_LIBS "Build shared libraries" OFF)
option(DRAMSYS_BUILD_TESTS "Build DRAMSys unit tests" OFF)
option(DRAMSYS_BUILD_BENCHMARKS "Build DRAMSys benchmarks" OFF)
option(DRAMSYS_VERBOSE_CMAKE_OUTPUT "Show detailed CMake output" OFF)
@@ -156,6 +158,9 @@ if (NOT TARGET SystemC::systemc)
FetchContent_MakeAvailable(systemc)
endif()
# Set include directories to SYSTEM to suppress warnings
set_target_properties(systemc PROPERTIES SYSTEM TRUE)
### DRAMPower ###
if (DRAMSYS_WITH_DRAMPOWER)
FetchContent_Declare(