aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
blob: f632b41b3e26fff36b0fdd7b97fd364e4f161340 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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.")

foreach (x IN ITEMS event sc_export sc_export2 minimal_socket browse lt_bus)
    add_executable(${x} ${src}/${x}.cc)
    target_include_directories(${x} PRIVATE ${src})
    target_compile_options(${x} PRIVATE -Wall -Wextra)
    target_link_libraries(${x} SystemC::systemc)
endforeach()

# Include tests.
add_subdirectory(test)