aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt27
1 files changed, 26 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index cb5d232..348393e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.0)
+cmake_minimum_required(VERSION 3.14)
project(systemc_utils CXX)
set (CMAKE_PREFIX_PATH $ENV{SYSTEMC_HOME})
@@ -13,3 +13,28 @@ foreach (X IN ITEMS event sc_export sc_export2 minimal_socket browse lt_bus)
target_compile_options(${X} PRIVATE -Wall -Wextra)
target_link_libraries(${X} SystemC::systemc)
endforeach()
+
+# -- TESTING -------------------------------------------------------------------
+
+# Fetch googletest.
+# https://google.github.io/googletest/quickstart-cmake.html#set-up-a-project
+include(FetchContent)
+FetchContent_Declare(
+ googletest URL https://github.com/google/googletest/archive/03597a01ee50ed33e9dfd640b249b4be3799d395.zip
+)
+set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
+FetchContent_MakeAvailable(googletest)
+
+# Generate CTestTestfile.cmake.
+enable_testing()
+# Include gtest_discover_tests macro.
+include(GoogleTest)
+
+foreach(T IN ITEMS lt_bus)
+ set(TGT test-${T})
+ add_executable(${TGT} test/${T}.cc)
+ target_include_directories(${TGT} PRIVATE src)
+ target_compile_options(${TGT} PRIVATE -Wall -Wextra)
+ target_link_libraries(${TGT} GTest::gmock_main SystemC::systemc)
+ gtest_discover_tests(${TGT})
+endforeach()