aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
blob: 36103f82e5b7adcb23cecde0f13a0784b61d8c7e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
cmake_minimum_required(VERSION 3.14)
project(systemc_playground CXX)

set(src ${CMAKE_CURRENT_SOURCE_DIR}/src)

set(CMAKE_PREFIX_PATH $ENV{SYSTEMC_HOME})
find_package(SystemCLanguage CONFIG REQUIRED)

# Set CXX std based on SystemC configuration.
set(CMAKE_CXX_STANDARD ${SystemC_CXX_STANDARD} CACHE STRING "C++ standard to build all targets.")

set(simulations
    event
    sc_export
    sc_export2
    minimal_socket
    browse
    lt_bus
)

foreach(sim IN ITEMS ${simulations})
    add_executable(${sim} ${src}/${sim}.cc)
    target_include_directories(${sim} PRIVATE ${src})
    target_compile_options(${sim} PRIVATE -Wall -Wextra)
    target_link_libraries(${sim} SystemC::systemc)
endforeach()

# Include tests.
add_subdirectory(test)