-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
110 lines (98 loc) · 4.27 KB
/
CMakeLists.txt
File metadata and controls
110 lines (98 loc) · 4.27 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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
cmake_minimum_required(VERSION 3.27)
project(GEAR)
message(STATUS "GEAR")
include("External/MIRU/External/ARC/src/CMakeFunctions.cmake")
#External Downloads
#ENTT
if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/External/ENTT/single_include/entt/entt.hpp")
file(DOWNLOAD
https://raw.githubusercontent.com/skypjack/entt/master/single_include/entt/entt.hpp
"${CMAKE_CURRENT_SOURCE_DIR}/External/ENTT/single_include/entt/entt.hpp"
)
message(STATUS "Downloaded ENTT.")
else()
message(STATUS "Found ENTT.")
endif()
#FREETYPE
if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/External/FREETYPE/include/ft2build.h")
set(GEAR_FREETYPE_VERSION 2.13.2)
set(GEAR_FREETYPE_ARCHIVE_NAME freetype-windows-binaries-${GEAR_FREETYPE_VERSION})
set(GEAR_FREETYPE_ARCHIVE ${GEAR_FREETYPE_ARCHIVE_NAME}.zip)
file(DOWNLOAD
https://github.com/ubawurinna/freetype-windows-binaries/archive/refs/tags/v${GEAR_FREETYPE_VERSION}.zip
EXPECTED_HASH MD5=d7b15cff717e6d032c856e40e763fce2
"${CMAKE_CURRENT_SOURCE_DIR}/External/FREETYPE/${GEAR_FREETYPE_ARCHIVE}"
)
file(ARCHIVE_EXTRACT INPUT "${CMAKE_CURRENT_SOURCE_DIR}/External/FREETYPE/${GEAR_FREETYPE_ARCHIVE}"
DESTINATION "${CMAKE_CURRENT_SOURCE_DIR}/External/FREETYPE/"
)
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory
"${CMAKE_CURRENT_SOURCE_DIR}/External/FREETYPE/${GEAR_FREETYPE_ARCHIVE_NAME}/"
"${CMAKE_CURRENT_SOURCE_DIR}/External/FREETYPE/"
)
file(REMOVE_RECURSE
"${CMAKE_CURRENT_SOURCE_DIR}/External/FREETYPE/${GEAR_FREETYPE_ARCHIVE}"
"${CMAKE_CURRENT_SOURCE_DIR}/External/FREETYPE/${GEAR_FREETYPE_ARCHIVE_NAME}"
"${CMAKE_CURRENT_SOURCE_DIR}/External/FREETYPE/demos"
"${CMAKE_CURRENT_SOURCE_DIR}/External/FREETYPE/CHANGES.txt"
"${CMAKE_CURRENT_SOURCE_DIR}/External/FREETYPE/README.md"
)
message(STATUS "Downloaded FREETYPE.")
else()
message(STATUS "Found FREETYPE.")
endif()
#GLFW
if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/External/GLFW/include/GLFW/glfw3.h")
set(GEAR_GLFW_VERSION 3.3.8)
set(GEAR_GLFW_ARCHIVE_NAME glfw-${GEAR_GLFW_VERSION}.bin.WIN64)
set(GEAR_GLFW_ARCHIVE ${GEAR_GLFW_ARCHIVE_NAME}.zip)
file(DOWNLOAD
https://github.com/glfw/glfw/releases/download/${GEAR_GLFW_VERSION}/${GEAR_GLFW_ARCHIVE}
EXPECTED_HASH MD5=00ae95c16b81ae736c98c2c102409263
"${CMAKE_CURRENT_SOURCE_DIR}/External/GLFW/${GEAR_GLFW_ARCHIVE}"
)
file(ARCHIVE_EXTRACT INPUT "${CMAKE_CURRENT_SOURCE_DIR}/External/GLFW/${GEAR_GLFW_ARCHIVE}"
DESTINATION "${CMAKE_CURRENT_SOURCE_DIR}/External/GLFW/"
)
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory
"${CMAKE_CURRENT_SOURCE_DIR}/External/GLFW/${GEAR_GLFW_ARCHIVE_NAME}/"
"${CMAKE_CURRENT_SOURCE_DIR}/External/GLFW/"
)
file(REMOVE_RECURSE
"${CMAKE_CURRENT_SOURCE_DIR}/External/GLFW/${GEAR_GLFW_ARCHIVE}"
"${CMAKE_CURRENT_SOURCE_DIR}/External/GLFW/${GEAR_GLFW_ARCHIVE_NAME}"
"${CMAKE_CURRENT_SOURCE_DIR}/External/GLFW/docs"
"${CMAKE_CURRENT_SOURCE_DIR}/External/GLFW/lib-mingw-w64"
"${CMAKE_CURRENT_SOURCE_DIR}/External/GLFW/lib-static-ucrt"
"${CMAKE_CURRENT_SOURCE_DIR}/External/GLFW/lib-vc2012"
"${CMAKE_CURRENT_SOURCE_DIR}/External/GLFW/lib-vc2013"
"${CMAKE_CURRENT_SOURCE_DIR}/External/GLFW/lib-vc2015"
"${CMAKE_CURRENT_SOURCE_DIR}/External/GLFW/lib-vc2017"
"${CMAKE_CURRENT_SOURCE_DIR}/External/GLFW/lib-vc2019"
"${CMAKE_CURRENT_SOURCE_DIR}/External/GLFW/README.md"
)
message(STATUS "Downloaded GLFW.")
else()
message(STATUS "Found GLFW.")
endif()
#Project Folders
message(STATUS "Adding ASSIMP.")
set(ASSIMP_INSTALL OFF)
set(ASSIMP_INSTALL_PDB OFF)
set(ASSIMP_BUILD_TESTS OFF)
add_subdirectory(External/ASSIMP)
SET(CMAKE_DEBUG_POSTFIX "")
message(STATUS "Finished ASSIMP.")
set_target_properties(assimp PROPERTIES FOLDER "External/ASSIMP")
set_target_properties(zlibstatic PROPERTIES FOLDER "External/ASSIMP")
set_target_properties(UpdateAssimpLibsDebugSymbolsAndDLLs PROPERTIES FOLDER "External/ASSIMP")
set(MIRU_BUILD_MIRU_TEST OFF)
add_subdirectory(External/MIRU)
set_target_properties(ARC PROPERTIES FOLDER "External/MIRU/External")
set_target_properties(MIRU_CORE PROPERTIES FOLDER "External/MIRU")
set_target_properties(MIRU_SHADER_COMPILER PROPERTIES FOLDER "External/MIRU")
add_subdirectory(GEAR_CORE)
add_subdirectory(GEAR_NATIVE_SCRIPT)
#add_subdirectory(GEAR_TEST)
add_subdirectory(GEARBOX)
set_property(DIRECTORY "${CMAKE_SOURCE_DIR}/GEARBOX" PROPERTY VS_STARTUP_PROJECT GEARBOX)