summaryrefslogtreecommitdiffstats
path: root/deps/CMakeLists.txt
diff options
context:
space:
mode:
authoruntodesu <kirill@untode.su>2025-03-15 16:22:09 +0500
committeruntodesu <kirill@untode.su>2025-03-15 16:22:09 +0500
commit3bf42c6ff3805a0d42bbc661794a95ff31bedc26 (patch)
tree05049955847504808d6bed2bb7b155f8b03807bb /deps/CMakeLists.txt
parent02294547dcde0d4ad76e229106702261e9f10a51 (diff)
downloadvoxelius-3bf42c6ff3805a0d42bbc661794a95ff31bedc26.tar.bz2
voxelius-3bf42c6ff3805a0d42bbc661794a95ff31bedc26.zip
Add whatever I was working on for the last month
Diffstat (limited to 'deps/CMakeLists.txt')
-rw-r--r--deps/CMakeLists.txt56
1 files changed, 56 insertions, 0 deletions
diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt
new file mode 100644
index 0000000..f688ffd
--- /dev/null
+++ b/deps/CMakeLists.txt
@@ -0,0 +1,56 @@
+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)
+
+import_static_library(glfw3)
+
+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)