diff --git a/3rdParty/CMakeLists.txt b/3rdParty/CMakeLists.txt index abba67c..df0da1c 100644 --- a/3rdParty/CMakeLists.txt +++ b/3rdParty/CMakeLists.txt @@ -1,13 +1,23 @@ -add_subdirectory(zlib) add_subdirectory(glm) if (NOT ANDROID AND NOT IOS) -add_subdirectory(glfw) + add_subdirectory(glfw) endif() add_subdirectory(spdlog) -add_subdirectory(assimp) +#add_subdirectory(assimp) add_subdirectory(magic-enum) add_subdirectory(yaml-cpp) add_subdirectory(pugixml) -add_subdirectory(opencv) add_subdirectory(PlatformFolders) -add_subdirectory(libarchive) \ No newline at end of file +add_subdirectory(stb) +add_subdirectory(eigen) + +file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/deps) +execute_process( + COMMAND ${CMAKE_COMMAND} -G ${CMAKE_GENERATOR} -DTOOLCHAIN_FILE=${TOOLCHAIN_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/libarchive + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/deps +) +execute_process( + COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR}/deps +) + +list(APPEND CMAKE_PREFIX_PATH ${CMAKE_BINARY_DIR}/deps/INSTALL) diff --git a/3rdParty/assimp/CMakeLists.txt b/3rdParty/assimp/CMakeLists.txt index f3ea6a4..9b98825 100644 --- a/3rdParty/assimp/CMakeLists.txt +++ b/3rdParty/assimp/CMakeLists.txt @@ -6,7 +6,11 @@ FetchContent_Declare( GIT_TAG v5.0.1 GIT_SHALLOW TRUE ) -set(ASSIMP_BUILD_TESTS OFF) -set(ASSIMP_BUILD_SAMPLES OFF) -set(ASSIMP_INSTALL OFF) + +set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE) +set(ASSIMP_BUILD_TESTS OFF CACHE BOOL "" FORCE) +set(ASSIMP_BUILD_SAMPLES OFF CACHE BOOL "" FORCE) +set(ASSIMP_INJECT_DEBUG_POSTFIX OFF CACHE BOOL "" FORCE) +set(ASSIMP_INSTALL OFF CACHE BOOL "" FORCE) + FetchContent_MakeAvailable(assimp) \ No newline at end of file diff --git a/3rdParty/eigen/CMakeLists.txt b/3rdParty/eigen/CMakeLists.txt new file mode 100644 index 0000000..e9b2661 --- /dev/null +++ b/3rdParty/eigen/CMakeLists.txt @@ -0,0 +1,12 @@ +include(FetchContent) + +FetchContent_Declare( + eigen + GIT_REPOSITORY https://gitlab.com/libeigen/eigen.git + GIT_TAG master + GIT_SHALLOW TRUE +) +set(EIGEN_BUILD_DOC OFF) +set(BUILD_TESTING OFF) +set(EIGEN_BUILD_PKGCONFIG OFF) +FetchContent_MakeAvailable(eigen) diff --git a/3rdParty/libarchive/CMakeLists.txt b/3rdParty/libarchive/CMakeLists.txt index 1f99874..691a7eb 100644 --- a/3rdParty/libarchive/CMakeLists.txt +++ b/3rdParty/libarchive/CMakeLists.txt @@ -1,13 +1,39 @@ -include(FetchContent) -FetchContent_Declare( - libarchive - GIT_REPOSITORY https://github.com/libarchive/libarchive.git - GIT_TAG v3.5.1 +cmake_minimum_required(VERSION 3.16) +project(build_libarchive) +include(ExternalProject) + +ExternalProject_Add(zlib + GIT_REPOSITORY https://github.com/madler/zlib.git + GIT_TAG v1.2.11 GIT_SHALLOW TRUE -) -set(ENABLE_TEST OFF) -set(ENABLE_TAR OFF) -set(ENABLE_CPIO OFF) -set(ENABLE_CAT OFF) -set(ENABLE_OPENSSL OFF) -FetchContent_MakeAvailable(libarchive) \ No newline at end of file + SOURCE_DIR zlib + BINARY_DIR zlib-build + CMAKE_GENERATOR ${CMAKE_GENERATOR} + CMAKE_ARGS + -DBUILD_SHARED_LIBS:BOOL=OFF + -DCMAKE_TOOLCHAIN_FILE:FILEPATH=${TOOLCHAIN_FILE} + -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_BINARY_DIR}/INSTALL + -DCMAKE_BUILD_TYPE:STRING=Release + ) + +ExternalProject_Add( + libarchive + DEPENDS zlib + GIT_REPOSITORY https://github.com/libarchive/libarchive.git + GIT_TAG v3.7.0 + GIT_SHALLOW TRUE + SOURCE_DIR libarchive + BINARY_DIR libarchive-build + CMAKE_GENERATOR ${CMAKE_GENERATOR} + CMAKE_ARGS + -DCMAKE_TOOLCHAIN_FILE:FILEPATH=${TOOLCHAIN_FILE} + -DCMAKE_BUILD_TYPE:STRING=Release + -DBUILD_SHARED_LIBS:BOOL=OFF + -DENABLE_TEST:BOOL=OFF + -DENABLE_TAR:BOOL=OFF + -DENABLE_CPIO:BOOL=OFF + -DENABLE_CAT:BOOL=OFF + -DENABLE_OPENSSL:BOOL=OFF + -DZLIB_USE_STATIC_LIBS:BOOL=ON + -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_BINARY_DIR}/INSTALL +) \ No newline at end of file diff --git a/3rdParty/pugixml/CMakeLists.txt b/3rdParty/pugixml/CMakeLists.txt index 3bf6a9a..27427c2 100644 --- a/3rdParty/pugixml/CMakeLists.txt +++ b/3rdParty/pugixml/CMakeLists.txt @@ -6,5 +6,6 @@ FetchContent_Declare( GIT_TAG v1.11.4 GIT_SHALLOW TRUE ) +set(BUILD_SHARED_LIBS OFF) set(PUGIXML_BUILD_TESTS OFF) FetchContent_MakeAvailable(pugixml) \ No newline at end of file diff --git a/3rdParty/stb/CMakeLists.txt b/3rdParty/stb/CMakeLists.txt new file mode 100644 index 0000000..38e06dd --- /dev/null +++ b/3rdParty/stb/CMakeLists.txt @@ -0,0 +1,11 @@ +include(FetchContent) + +FetchContent_Declare( + stb + GIT_REPOSITORY https://github.com/nothings/stb.git + GIT_SHALLOW TRUE +) +FetchContent_MakeAvailable(stb) + +add_library(stb INTERFACE) +target_include_directories(stb INTERFACE ${stb_SOURCE_DIR}) diff --git a/3rdParty/zlib/CMakeLists.txt b/3rdParty/zlib/CMakeLists.txt deleted file mode 100644 index c3707ad..0000000 --- a/3rdParty/zlib/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -set(CMAKE_POLICY_DEFAULT_CMP0048 NEW) - -include(FetchContent) -FetchContent_Declare( - zlib - GIT_REPOSITORY https://github.com/madler/zlib.git - GIT_TAG v1.2.11 - GIT_SHALLOW TRUE -) -FetchContent_MakeAvailable(zlib) - -add_library(ZLIB::ZLIB ALIAS zlibstatic) -target_include_directories(zlibstatic INTERFACE ${zlib_BINARY_DIR} ${zlib_SOURCE_DIR}) \ No newline at end of file