valeri/CMakeLists.txt

53 lines
1 KiB
CMake
Raw Normal View History

cmake_minimum_required(VERSION 3.28)
project(valeri) # vli
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_EXPORT_COMPILE_COMMANDS true)
message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
set (CMAKE_CXX_FLAGS "-fno-exceptions -static-libgcc -static-libstdc++ -Werror -Wall -Wunused-result -Wno-unused-function -Wno-unused-variable -fno-omit-frame-pointer -fsanitize=address -Wno-c99-designator")
add_library(vm_lib)
target_sources(vm_lib
PRIVATE
src/vm.cpp
src/common.cpp
PUBLIC
FILE_SET HEADERS
BASE_DIRS src
FILES
src/vm.hpp
src/common.hpp
)
add_executable(vli src/vli.cpp)
target_link_libraries(vli vm_lib)
install(TARGETS vli)
# TESTING
enable_testing()
set(CPP_TESTS
)
foreach(testname IN LISTS CPP_TESTS)
add_executable("test_${testname}")
target_sources("test_${testname}" PRIVATE test/${testname}.cpp
PUBLIC
FILE_SET HEADERS
BASE_DIRS test
FILES
test/test.hpp)
target_link_libraries("test_${testname}" vm_lib)
add_test(
NAME "test_${testname}"
COMMAND $<TARGET_FILE:test_${testname}>
)
endforeach()