-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
48 lines (40 loc) · 1.75 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
cmake_minimum_required(VERSION 3.10)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_REQUIRED_FLAGS -std=c++17)
project(Aquarius)
# Fix to threads error on MacOS, this will assume built-in pthreads
IF(APPLE)
set(CMAKE_THREAD_LIBS_INIT "-lpthread")
set(CMAKE_HAVE_THREADS_LIBRARY 1)
set(CMAKE_USE_WIN32_THREADS_INIT 0)
set(CMAKE_USE_PTHREADS_INIT 1)
set(THREADS_PREFER_PTHREAD_FLAG ON)
ENDIF()
set(LIBTYPE "STATIC" CACHE STRING "" FORCE)
include_directories(${PROJECT_SOURCE_DIR}/Aquarius)
include_directories(${PROJECT_SOURCE_DIR}/Aquarius/Src)
include_directories(${PROJECT_SOURCE_DIR}/Aquarius/Vendor/glfw/include)
include_directories(${PROJECT_SOURCE_DIR}/Aquarius/Vendor/glad/include)
include_directories(${PROJECT_SOURCE_DIR}/Aquarius/Vendor/easyloggingpp/src)
include_directories(${PROJECT_SOURCE_DIR}/Aquarius/Vendor/openal-soft/include)
include_directories(${PROJECT_SOURCE_DIR}/Aquarius/Vendor/stb_image)
include_directories(${PROJECT_SOURCE_DIR}/Aquarius/Vendor/imgui)
include_directories(${PROJECT_SOURCE_DIR}/Aquarius/Vendor/imgui/backends)
include_directories(${PROJECT_SOURCE_DIR}/Aquarius/Vendor/AudioFile)
# So that easylogging++ is build as a static lib
set(build_static_lib ON CACHE BOOL "build static library" FORCE)
# Find GLM
set(glm_DIR Aquarius/Vendor/glm/cmake/glm)
find_package(glm REQUIRED)
include_directories(${GLM_INCLUDE_DIRS})
# Add other subprojects
add_subdirectory(Aquarius)
add_subdirectory(Aquarius/Vendor/easyloggingpp)
add_subdirectory(Aquarius/Vendor/glad)
add_subdirectory(Aquarius/Vendor/glfw)
add_subdirectory(Aquarius/Vendor/openal-soft)
add_subdirectory(Aquarius/Vendor/stb_image)
add_subdirectory(Aquarius/Vendor/AudioFile)
add_subdirectory(Aquarius/Vendor/imgui)
add_subdirectory(Sandbox)