forked from MarioSieg/Corium
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
35 lines (29 loc) · 1.38 KB
/
CMakeLists.txt
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
30
31
32
33
34
35
# release flags: -fno-exceptions -fno-common -Wconversion -Werror -Wall -Wextra -Wno-attributes -Wdouble-promotion -Wundef -ffast-math -fno-math-errno
cmake_minimum_required(VERSION 3.18)
set(CMAKE_TRY_COMPILE_TARGET_TYPE "STATIC_LIBRARY")
project("nominax" CXX ASM)
set(CMAKE_C_COMPILER_WORKS true)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED on)
set(CMAKE_CXX_EXTENSIONS off)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
add_library("libnominax"
"inc/nominax/platform.hpp"
"inc/nominax/reactor.hpp"
"inc/nominax/reactor_internals.hpp"
"inc/nominax/bytecode.hpp"
"src/reactor.cpp"
"inc/nominax/record.hpp"
"inc/nominax/macrocfg.hpp"
"inc/nominax/runtime.hpp"
"inc/nominax/interrupts.hpp" "inc/nominax/info.hpp" "inc/nominax/os.hpp" "src/os_windows.cpp" "src/os_linux.cpp" "src/os_android.cpp" "src/os_darwin.cpp" "inc/nominax/memunits.hpp" "inc/nominax/dll.hpp")
add_executable("nominax" "src/main.cpp")
target_link_libraries("nominax" "libnominax")
# tests:
file(GLOB "TEST_SRC_FILES" "tst/*.cpp")
add_subdirectory("tst/googletest/")
add_executable("nominax_unit_tests" ${TEST_SRC_FILES})
add_test(NAME "nominax_unit_tests" COMMAND "nominax_unit_tests")
target_include_directories("nominax_unit_tests" PUBLIC "tst/googletest/googletest/include/gtest")
target_link_libraries("nominax_unit_tests" "gtest" "libnominax")