Cleanup of cmake.

This commit is contained in:
Lukas Steiner
2020-09-24 13:32:08 +02:00
parent c919c23ddd
commit c37ea19ffb
4 changed files with 32 additions and 35 deletions

View File

@@ -17,8 +17,7 @@ build:
- rm -rf build
- mkdir -p build
- cd build
- export COVERAGE=true
- cmake ../DRAMSys
- cmake -DDRAMSYS_COVERAGE_CHECK=ON ../DRAMSys
- make -j 16
- find . -name "*.o" -type f -delete
- rm -rf ${CI_PROJECT_DIR}/coverage

View File

@@ -37,16 +37,27 @@ cmake_minimum_required(VERSION 3.10)
# Project Name:
project(DRAMSys)
option(DRAMSYS_COVERAGE_CHECK "Coverage check of DRAMSys")
option(DRAMSYS_WITH_GEM5 "Build DRAMSys with gem5 coupling")
# Configuration:
set(CMAKE_CXX_STANDARD 11 CACHE STRING "C++ Version")
set(DCMAKE_SH "CMAKE_SH-NOTFOUND" CACHE STRING "Ignore sh.exe error on Windows")
if(DRAMSYS_COVERAGE_CHECK)
message("== Coverage check enabled")
set(GCC_COVERAGE_COMPILE_FLAGS "-g -O0 -coverage -fprofile-arcs -ftest-coverage")
set(GCC_COVERAGE_LINK_FLAGS "-coverage -lgcov")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GCC_COVERAGE_COMPILE_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GCC_COVERAGE_LINK_FLAGS}")
endif()
# Add DRAMSysLibrary:
add_subdirectory(library)
# Add TraceAnalyzer:
if(EXISTS ${CMAKE_CURRENT_LIST_DIR}/traceAnalyzer)
message("---- Trace Analyzer included")
message("== Trace Analyzer included")
add_subdirectory(traceAnalyzer)
endif()
@@ -54,8 +65,8 @@ endif()
add_subdirectory(simulator)
# Add DRAMSysgem5
if(DEFINED ENV{GEM5})
message("---- gem5 coupling included")
if(DEFINED ENV{GEM5} AND DRAMSYS_WITH_GEM5)
message("== gem5 coupling included")
add_subdirectory(gem5)
endif()

View File

@@ -41,16 +41,6 @@ project(DRAMSysLibrary)
set(CMAKE_CXX_STANDARD 11 CACHE STRING "C++ Version")
set(DCMAKE_SH="CMAKE_SH-NOTFOUND")
if(DEFINED ENV{COVERAGE})
if($ENV{COVERAGE} STREQUAL "true")
message("---- Coverage check enabled")
set(GCC_COVERAGE_COMPILE_FLAGS "-g -O0 -coverage -fprofile-arcs -ftest-coverage")
set(GCC_COVERAGE_LINK_FLAGS "-coverage -lgcov")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GCC_COVERAGE_COMPILE_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GCC_COVERAGE_LINK_FLAGS}")
endif()
endif()
# Add DRAMPower:
add_subdirectory(src/common/third_party/DRAMPower)
@@ -63,16 +53,16 @@ if(DEFINED ENV{SYSTEMC_HOME})
NAMES systemc SnpsVP
PATHS $ENV{SYSTEMC_HOME}/lib-$ENV{SYSTEMC_TARGET_ARCH}/ $ENV{SYSTEMC_HOME}/lib-linux64/ $ENV{SYSTEMC_HOME}/libso-$ENV{COWARE_CXX_COMPILER}/
)
message("---- Building with external SystemC located in $ENV{SYSTEMC_HOME}")
message("== Building with external SystemC located in $ENV{SYSTEMC_HOME}")
else()
set(BUILD_SHARED_LIBS OFF CACHE BOOL "Build Shared Libs")
add_subdirectory(src/common/third_party/systemc)
set(SYSTEMC_LIBRARY systemc)
message("---- Building with SystemC submodule")
message("== Building with SystemC submodule")
endif()
if(EXISTS ${CMAKE_CURRENT_LIST_DIR}/src/common/third_party/sqlite-amalgamation)
message("---- Database recording included")
message("== Database recording included")
# Add sqlite3 Dependency:
set(BUILD_ENABLE_RTREE ON CACHE BOOL "Enable R-Tree Feature")
set(BUILD_ENABLE_RTREE ON)
@@ -281,8 +271,8 @@ add_library(DRAMSysLibrary
)
if(DEFINED ENV{LIBTHREED_ICE_HOME})
message("---- Thermal simulation available")
add_definitions(-DTHERMALSIM)
message("== Thermal simulation available")
target_compile_definitions(DRAMSysLibrary PRIVATE THERMALSIM)
target_include_directories(DRAMSysLibrary
PRIVATE $ENV{LIBTHREED_ICE_HOME}/include/
)
@@ -305,9 +295,14 @@ endif()
target_include_directories(DRAMSysLibrary
PUBLIC src/common/third_party/DRAMPower/src/
PUBLIC $ENV{SYSTEMC_HOME}/include/
PUBLIC $ENV{SYSTEMC_HOME}/include/tlm/
)
if(EXISTS $ENV{SYSTEMC_HOME}/include/tlm/)
target_include_directories(DRAMSysLibrary
PUBLIC $ENV{SYSTEMC_HOME}/include/tlm/
)
endif()
target_link_libraries(DRAMSysLibrary
PUBLIC ${SYSTEMC_LIBRARY}
PRIVATE DRAMPower

View File

@@ -41,19 +41,6 @@ project(DRAMSysSimulator)
set(CMAKE_CXX_STANDARD 11 CACHE STRING "C++ Version")
set(DCMAKE_SH="CMAKE_SH-NOTFOUND")
if(DEFINED ENV{COVERAGE})
if($ENV{COVERAGE} STREQUAL "true")
set(GCC_COVERAGE_COMPILE_FLAGS "-g -O0 -coverage -fprofile-arcs -ftest-coverage")
set(GCC_COVERAGE_LINK_FLAGS "-coverage -lgcov")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GCC_COVERAGE_COMPILE_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GCC_COVERAGE_LINK_FLAGS}")
endif()
endif()
if(EXISTS ${CMAKE_CURRENT_LIST_DIR}/../library/src/simulation/DRAMSysRecordable.cpp)
add_definitions(-DRECORDING)
endif()
add_executable(DRAMSys
main.cpp
ExampleInitiator.h
@@ -62,7 +49,12 @@ add_executable(DRAMSys
TraceGenerator.h
TracePlayer.cpp
TracePlayerListener.h
TraceSetup.cpp)
TraceSetup.cpp
)
if(EXISTS ${CMAKE_CURRENT_LIST_DIR}/../library/src/simulation/DRAMSysRecordable.cpp)
target_compile_definitions(DRAMSys PRIVATE RECORDING)
endif()
target_include_directories(DRAMSys
PUBLIC ../library/src/