-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
75 lines (62 loc) · 2.07 KB
/
CMakeLists.txt
File metadata and controls
75 lines (62 loc) · 2.07 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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
cmake_minimum_required(VERSION 3.30)
project(Capstone_RhythmGame)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_C_STANDARD 23)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/out/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/out/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/out/bin)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /PROFILE")
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
#set(OPTIMIZATION_FLAGS "/O2 /arch:AVX2 /Oi /Ot")
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OPTIMIZATION_FLAGS} /FAcs /W4 /WX /DNDEBUG /Zi")
#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OPTIMIZATION_FLAGS} /FAcs /W4 /WX /DNDEBUG /Zi")
#set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
#set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LTCG /PROFILE")
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION FALSE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /FAcs /W4 /DNDEBUG /Zi /bigobj")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /FAcs /W4 /DNDEBUG /Zi /bigobj")
add_compile_definitions(PROJECT_NAME=${PROJECT_NAME})
include(cmake/FetchNASM.cmake)
list(APPEND
LIBS
audio
scene
engine
assets_manager
)
include_directories("include")
option(DISABLE_TEST
"Disable Unit Test"
FALSE
)
file(GLOB
SRC_FOLDERS
RELATIVE
"${PROJECT_SOURCE_DIR}/src/"
"${PROJECT_SOURCE_DIR}/src/*"
)
foreach(SRC_FOLDER ${SRC_FOLDERS})
if(IS_DIRECTORY "${PROJECT_SOURCE_DIR}/src/${SRC_FOLDER}")
add_subdirectory("${PROJECT_SOURCE_DIR}/src/${SRC_FOLDER}")
endif()
endforeach()
add_subdirectory(shaders)
enable_testing()
add_subdirectory("test")
add_custom_target(unit_testing
COMMAND ${CMAKE_CTEST_COMMAND}
COMMENT "[${PROJECT_NAME}] - Unit Testing"
DEPENDS unit_test
)
if (NOT DISABLE_TEST)
add_custom_target(building_project
COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR}
COMMENT "[${PROJECT_NAME}] - Building"
DEPENDS unit_testing
)
else()
add_custom_target(building_project
COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR}
COMMENT "[${PROJECT_NAME}] - Building"
)
endif()