From 3bf42c6ff3805a0d42bbc661794a95ff31bedc26 Mon Sep 17 00:00:00 2001 From: untodesu Date: Sat, 15 Mar 2025 16:22:09 +0500 Subject: Add whatever I was working on for the last month --- deps/CMakeLists.txt | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 deps/CMakeLists.txt (limited to 'deps/CMakeLists.txt') 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) -- cgit