-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
54 lines (44 loc) · 1.48 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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
cmake_minimum_required(VERSION 3.19)
project(Kiwifield)
# sudo dnf groupinstall "Development Tools" "Development Libraries"
# sudo dnf install glew-devel SDL2-devel SDL2_image-devel glm-devel freetype-devel
# sudo dnf install g++
set(CMAKE_CXX_STANDARD 20)
set(KIWIFIELD_VERSION 0.1)
if(${CMAKE_SYSTEM} MATCHES "Linux")
set(LINUX 1)
endif(${CMAKE_SYSTEM} MATCHES "Linux")
file (GLOB MY_SRC "src/*"
"src/entities/*"
"src/utility/*"
"src/editor/*"
"src/world/*"
"src/lib/*")
if (APPLE)
add_compile_options(-stdlib=libc++)
endif(APPLE)
add_executable(Kiwifield ${MY_SRC})
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/src/assets/ DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/assets/)
if (UNIX)
# X11
if(LINUX)
find_package(X11 REQUIRED)
include_directories(${X11_INCLUDE_DIR})
link_directories(${X11_LIBRARIES})
target_link_libraries(Kiwifield ${X11_LIBRARIES})
endif(LINUX)
# GLUT
if(APPLE)
find_package(GLUT REQUIRED)
include_directories(${GLUT_INCLUDE_DIR})
link_directories(${GLUT_LIBRARIES})
target_link_libraries(Kiwifield ${GLUT_LIBRARIES})
endif(APPLE)
find_package(OpenGL REQUIRED)
include_directories(${OPENGL_INCLUDE_DIR})
link_directories(${OPENGL_LIBRARIES})
target_link_libraries(Kiwifield ${OPENGL_LIBRARIES})
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
target_link_libraries(Kiwifield Threads::Threads)
endif (UNIX)