-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCMakeLists.txt
35 lines (25 loc) · 1.25 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
cmake_minimum_required(VERSION 3.12)
project(cyclimb_win)
add_subdirectory(FreeGLUT)
# The <item> generated by the glew subdirectory is "libglew_shared".
# As is indicated in its Readme: https://github.com/Perlmint/glew-cmake
add_subdirectory(glew)
add_subdirectory(glm)
add_subdirectory(glfw)
add_subdirectory(freetype2)
if (MSVC)
SET( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /ENTRY:mainCRTStartup" )
endif()
file(GLOB CYCLIMB_SOURCE "*.cpp" "*.h" "*.hpp")
# Remove GenPalette.cpp from cyclimb
list(REMOVE_ITEM CYCLIMB_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/GenPalette.cpp)
add_executable(cyclimb_win WIN32 ${CYCLIMB_SOURCE})
target_include_directories(cyclimb_win PRIVATE ${PROJECT_SOURCE_DIR}/glew/include)
target_include_directories(cyclimb_win PRIVATE FreeGLUT/include)
target_include_directories(cyclimb_win PRIVATE freetype2/include)
target_link_libraries(cyclimb_win freeglut libglew_static glm glfw freetype)
message("Copying resource to build directory")
FILE(COPY ${CMAKE_CURRENT_SOURCE_DIR}/climb DESTINATION ${CMAKE_BINARY_DIR})
FILE(COPY ${CMAKE_CURRENT_SOURCE_DIR}/shaders DESTINATION ${CMAKE_BINARY_DIR})
FILE(COPY ${CMAKE_CURRENT_SOURCE_DIR}/shaders_hlsl DESTINATION ${CMAKE_BINARY_DIR})
message("chaoyue climb cmake setup done!")