blob: aadf8ef07dab8c177a7e9c43e59727528e577d7b (
plain)
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
|
set(DEPS_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR}/include")
set(DEPS_LIBRARY_DIR "${CMAKE_CURRENT_LIST_DIR}/lib")
if(WIN32 AND NOT MINGW)
set(DEPS_LIBRARY_DIR "${DEPS_LIBRARY_DIR}/win")
elseif(WIN32 AND MINGW)
set(DEPS_LIBRARY_DIR "${DEPS_LIBRARY_DIR}/mingw")
elseif(UNIX AND NOT APPLE)
set(DEPS_LIBRARY_DIR "${DEPS_LIBRARY_DIR}/linux")
elseif(UNIX AND APPLE)
set(DEPS_LIBRARY_DIR "${DEPS_LIBRARY_DIR}/apple")
else()
message(FATAL_ERROR "Unsupported target platform")
endif()
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(DEPS_LIBRARY_DIR "${DEPS_LIBRARY_DIR}32")
elseif(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(DEPS_LIBRARY_DIR "${DEPS_LIBRARY_DIR}64")
else()
message(FATAL_ERROR "Unsupported CMAKE_SIZEOF_VOID_P")
endif()
function(import_shared_library library)
add_library(${library} SHARED IMPORTED GLOBAL)
set_target_properties(${library} PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${DEPS_INCLUDE_DIR}")
set_target_properties(${library} PROPERTIES IMPORTED_LOCATION "${DEPS_LIBRARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}${library}${CMAKE_SHARED_LIBRARY_SUFFIX}")
set_target_properties(${library} PROPERTIES IMPORTED_IMPLIB "${DEPS_LIBRARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}${library}${CMAKE_STATIC_LIBRARY_SUFFIX}")
install(FILES "${DEPS_LIBRARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}${library}${CMAKE_SHARED_LIBRARY_SUFFIX}" RUNTIME DESTINATION ".")
endfunction()
function(import_static_library library)
add_library(${library} STATIC IMPORTED GLOBAL)
set_target_properties(${library} PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${DEPS_INCLUDE_DIR}")
set_target_properties(${library} PROPERTIES IMPORTED_LOCATION "${DEPS_LIBRARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}${library}${CMAKE_STATIC_LIBRARY_SUFFIX}")
endfunction()
set(PHYSFS_ARCHIVE_ZIP ON CACHE BOOL "" FORCE)
set(PHYSFS_ARCHIVE_7Z ON CACHE BOOL "" FORCE)
find_package(glfw3 3.3 QUIET)
if(NOT glfw3_FOUND)
include(FetchContent)
set(GLFW_INSTALL OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
FetchContent_Declare(glfw GIT_REPOSITORY https://github.com/glfw/glfw.git GIT_TAG 3.3)
FetchContent_MakeAvailable(glfw)
add_library(glfw3 ALIAS glfw)
endif()
add_subdirectory(src/dr_libs)
add_subdirectory(src/enet)
add_subdirectory(src/fastnoiselite)
add_subdirectory(src/glad)
add_subdirectory(src/imgui)
add_subdirectory(src/miniz)
add_subdirectory(src/parson)
add_subdirectory(src/physfs)
add_subdirectory(src/salad)
add_subdirectory(src/spdlog)
add_subdirectory(src/stb)
set(DEPS_INCLUDE_DIR "${DEPS_INCLUDE_DIR}" PARENT_SCOPE)
set(DEPS_LIBRARY_DIR "${DEPS_LIBRARY_DIR}" PARENT_SCOPE)
|