-
Notifications
You must be signed in to change notification settings - Fork 6
/
CMakeLists.txt
30 lines (27 loc) · 1.29 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
cmake_minimum_required(VERSION 3.1.0)
project(VigilanteGameFramework)
if(${WIN32})
add_compile_options(/Zc:rvalueCast)
if(${VGF_LTO})
set(VGF_LTO_FLAGS "/LTCG /GL")
endif()
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Ox /Ot ${VGF_LTO_FLAGS}")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Ox /Ot ${VGF_LTO_FLAGS}")
set(CMAKE_LINK_FLAGS_RELEASE "${CMAKE_LINK_FLAGS_RELEASE} /Ox /Ot ${VGF_LTO_FLAGS}")
set(CMAKE_LINK_FLAGS_RELWITHDEBINFO "${CMAKE_LINK_FLAGS_RELWITHDEBINFO} /Ox /Ot ${VGF_LTO_FLAGS}")
else(${WIN32})
add_compile_options(-std=c++14 -Wall -Wextra -Wpedantic)
if(${VGF_LTO})
set(VGF_LTO_FLAGS "-flto ")
endif()
set(VGF_EXTRA_FLAGS "-O3")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${VGF_EXTRA_FLAGS} ${VGF_LTO_FLAGS}")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${VGF_EXTRA_FLAGS} ${VGF_LTO_FLAGS}")
set(CMAKE_LINK_FLAGS_RELEASE "${CMAKE_LINK_FLAGS_RELEASE} ${VGF_EXTRA_FLAGS} ${VGF_LTO_FLAGS}")
set(CMAKE_LINK_FLAGS_RELWITHDEBINFO "${CMAKE_LINK_FLAGS_RELWITHDEBINFO} ${VGF_EXTRA_FLAGS} ${VGF_LTO_FLAGS}")
endif(${WIN32})
link_directories(${PROJECT_BINARY_DIR})
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
cmake_policy(SET CMP0074 NEW)
add_subdirectory(VFrame)
add_subdirectory(Example)