Andreas Würtz
Sp Exam 2025
Compiler: GCC version 13
CMakeLists.txt:
cmake_minimum_required(VERSION 3.15)
project(exam)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(BUILD_SHARED_LIBS OFF) # Stick with statically linked libraries
include(sanitizers.cmake)
include(doctest.cmake)
add_executable(SymbolTableTests tests/SymbolTableTests.cpp)
target_link_libraries(SymbolTableTests doctest::doctest_with_main)
enable_testing()
add_test(NAME SymbolTableTests COMMAND SymbolTableTests)
add_executable(ReactionTests tests/ReactionTests.cpp )
target_link_libraries(ReactionTests doctest::doctest_with_main)
add_test(NAME ReactionTests COMMAND ReactionTests)
add_executable(main
src/main.cpp
include/SymbolTable.h
graphs/qt.hpp
graphs/VisualizationHelper.h
)
include(benchmark.cmake)
find_program(PYTHON NAMES python3 python DOC "Python executable")
if (PYTHON)
message(STATUS "Found python: ${PYTHON}")
else (PYTHON)
message(STATUS "Failed to find python, disabling benchmark plots")
endif (PYTHON)
include_directories(include)
include_directories(tests)
find_package(Qt5 COMPONENTS Charts REQUIRED)
target_link_libraries(main PRIVATE Qt5::Charts)