Cleanup of cmake.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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/
|
||||
|
||||
Reference in New Issue
Block a user