Check if gem5 exists.

This commit is contained in:
Lukas Steiner
2020-04-24 09:33:20 +02:00
parent 2420d213c7
commit 53f4e1eb36
2 changed files with 21 additions and 22 deletions

View File

@@ -54,4 +54,6 @@ add_subdirectory(traceAnalyzer)
add_subdirectory(simulator)
# Add DRAMSysgem5
add_subdirectory(gem5)
if(DEFINED ENV{GEM5})
add_subdirectory(gem5)
endif()

View File

@@ -32,34 +32,20 @@
cmake_minimum_required(VERSION 3.10)
# Project Name
project(DRAMSysGem5)
set(GEM5_ARCH ARM) # ARM, X86, ALPHA
set(GEM5_VARIANT opt) # opt, fast
# Configuration:
set(CMAKE_CXX_STANDARD 11 CACHE STRING "C++ Version")
set(DCMAKE_SH="CMAKE_SH-NOTFOUND")
include_directories(
$ENV{GEM5}/build/ARM/
$ENV{GEM5}/util/tlm/examples/slave_port
$ENV{GEM5}/util/tlm/examples/common
$ENV{GEM5}/util/tlm/src/
$ENV{GEM5}/util/systemc
)
find_library(GEM5_LIBRARY gem5_${GEM5_VARIANT} PATH $ENV{GEM5}/build/${GEM5_ARCH}/)
link_directories(
$ENV{GEM5}/build/ARM/
)
add_executable(DRAMSysGem5
add_executable(DRAMSys_gem5
main.cpp
$ENV{GEM5}/util/systemc/sc_gem5_control.cc
$ENV{GEM5}/util/systemc/sc_logger.cc
$ENV{GEM5}/util/systemc/sc_module.cc
$ENV{GEM5}/util/systemc/stats.cc
$ENV{GEM5}/util/tlm/examples/common/cli_parser.cc
$ENV{GEM5}/util/tlm/examples/common/report_handler.cc
$ENV{GEM5}/util/tlm/src/master_transactor.cc
$ENV{GEM5}/util/tlm/src/sc_master_port.cc
$ENV{GEM5}/util/tlm/src/sc_slave_port.cc
$ENV{GEM5}/util/tlm/src/slave_transactor.cc
@@ -67,7 +53,18 @@ add_executable(DRAMSysGem5
$ENV{GEM5}/util/tlm/src/sc_mm.cc
$ENV{GEM5}/util/tlm/src/sim_control.cc
)
target_include_directories(DRAMSysGem5
PUBLIC ../library/src/simulation/
target_include_directories(DRAMSys_gem5
PRIVATE $ENV{GEM5}/build/ARM/
PRIVATE $ENV{GEM5}/util/tlm/examples/slave_port/
PRIVATE $ENV{GEM5}/util/tlm/examples/common/
PRIVATE $ENV{GEM5}/util/tlm/src/
PRIVATE $ENV{GEM5}/util/systemc/
PRIVATE ../library/src/simulation/
)
target_link_libraries(DRAMSysGem5 systemc DRAMSysLibrary gem5_opt)
target_link_libraries(DRAMSys_gem5
systemc
DRAMSysLibrary
${GEM5_LIBRARY}
)