-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
54 lines (38 loc) · 1.36 KB
/
Copy pathCMakeLists.txt
File metadata and controls
54 lines (38 loc) · 1.36 KB
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
cmake_minimum_required(VERSION 3.11)
project(cyx2)
set(CMAKE_CXX_STANDARD 17)
option(CYX_DEBUG OFF)
add_subdirectory("src/3rdparty/googletest")
include_directories("src/3rdparty/dbg-macro" "src/3rdparty/googletest")
SET(GTEST_ROOT "src/3rdparty/googletest/googletest")
if ($ENV{CI})
add_definitions(-D GITHUB_ACTIONS)
endif ()
if (CYX_DEBUG)
add_definitions(-D CYX_DEBUG)
else ()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
endif ()
add_definitions(-D DBG_MACRO_NO_WARNING)
file(GLOB_RECURSE CYX_COMPILER_SOURCE_FILES "src/compiler/*.cpp")
file(GLOB_RECURSE CYX_COMPILER_HEADER_FILES "src/compiler/*.hpp" "src/compiler/*.h")
file(GLOB_RECURSE CYX_VM_SOURCE_FILES "src/core/*.cpp")
file(GLOB_RECURSE CYX_VM_HEADER_FILES "src/core/*.hpp" "src/*.h")
file(GLOB_RECURSE CYX_OTHER_SOURCE_FILES "src/common/*.cpp" "src/utility/*.cpp")
file(GLOB_RECURSE CYX_OTHER_HEADER_FILES "src/common/*.h" "src/common/*.hpp" "src/utility/*.hpp")
add_executable(${PROJECT_NAME}
${CYX_COMPILER_HEADER_FILES}
${CYX_COMPILER_SOURCE_FILES}
${CYX_VM_HEADER_FILES}
${CYX_VM_SOURCE_FILES}
${CYX_OTHER_HEADER_FILES}
${CYX_OTHER_SOURCE_FILES}
src/main.cpp
)
add_executable(${PROJECT_NAME}_test
test/run_test.cpp
)
target_link_libraries(${PROJECT_NAME}_test
gtest
${GTEST_LIBRARIES}
)