Change dependency management

This commit is contained in:
2020-11-22 11:12:13 +01:00
parent 02232b17ef
commit aec792fc65
16 changed files with 91 additions and 43 deletions

15
.gitmodules vendored
View File

@@ -1,15 +0,0 @@
[submodule "external/spdlog"]
path = external/spdlog
url = https://github.com/gabime/spdlog
[submodule "external/glm"]
path = external/glm
url = https://github.com/g-truc/glm
[submodule "external/glfw"]
path = external/glfw
url = https://github.com/glfw/glfw
[submodule "external/fmt"]
path = external/fmt
url = https://github.com/fmtlib/fmt
[submodule "external/assimp"]
path = external/assimp
url = https://github.com/assimp/assimp

9
3rdParty/CMakeLists.txt vendored Normal file
View File

@@ -0,0 +1,9 @@
add_subdirectory(zlib)
add_subdirectory(glm)
if (NOT ANDROID AND NOT IOS)
add_subdirectory(glfw)
endif()
add_subdirectory(spdlog)
add_subdirectory(assimp)
add_subdirectory(magic-enum)
add_subdirectory(yaml-cpp)

12
3rdParty/assimp/CMakeLists.txt vendored Normal file
View File

@@ -0,0 +1,12 @@
include(FetchContent)
FetchContent_Declare(
assimp
GIT_REPOSITORY https://github.com/assimp/assimp.git
GIT_TAG v5.0.1
GIT_SHALLOW TRUE
)
set(ASSIMP_BUILD_TESTS OFF)
set(ASSIMP_BUILD_SAMPLES OFF)
set(ASSIMP_INSTALL OFF)
FetchContent_MakeAvailable(assimp)

9
3rdParty/glfw/CMakeLists.txt vendored Normal file
View File

@@ -0,0 +1,9 @@
include(FetchContent)
FetchContent_Declare(
glfw
GIT_REPOSITORY https://github.com/glfw/glfw.git
GIT_TAG 3.3.2
GIT_SHALLOW TRUE
)
FetchContent_MakeAvailable(glfw)

10
3rdParty/glm/CMakeLists.txt vendored Normal file
View File

@@ -0,0 +1,10 @@
include(FetchContent)
FetchContent_Declare(
glm
GIT_REPOSITORY https://github.com/g-truc/glm.git
GIT_TAG 0.9.9.8
GIT_SHALLOW TRUE
)
set(GLM_TEST_ENABLE OFF)
FetchContent_MakeAvailable(glm)

9
3rdParty/magic-enum/CMakeLists.txt vendored Normal file
View File

@@ -0,0 +1,9 @@
include(FetchContent)
FetchContent_Declare(
magic_enum
GIT_REPOSITORY https://github.com/Neargye/magic_enum.git
GIT_TAG v0.7.0
GIT_SHALLOW TRUE
)
FetchContent_MakeAvailable(magic_enum)

10
3rdParty/spdlog/CMakeLists.txt vendored Normal file
View File

@@ -0,0 +1,10 @@
include(FetchContent)
FetchContent_Declare(
spdlog
GIT_REPOSITORY https://github.com/gabime/spdlog.git
GIT_TAG v1.8.1
GIT_SHALLOW TRUE
)
FetchContent_MakeAvailable(spdlog)
#add_definitions(-SPDLOG_FMT_EXTERNAL)

11
3rdParty/yaml-cpp/CMakeLists.txt vendored Normal file
View File

@@ -0,0 +1,11 @@
include(FetchContent)
FetchContent_Declare(
yaml-cpp
GIT_REPOSITORY https://github.com/jbeder/yaml-cpp.git
GIT_TAG yaml-cpp-0.6.3
GIT_SHALLOW TRUE
)
set(YAML_CPP_BUILD_TOOLS OFF)
set(YAML_CPP_BUILD_TESTS OFF)
FetchContent_MakeAvailable(yaml-cpp)

13
3rdParty/zlib/CMakeLists.txt vendored Normal file
View File

@@ -0,0 +1,13 @@
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})

View File

@@ -9,6 +9,8 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wunknown-pragmas")
endif()
add_subdirectory(3rdParty)
#set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/bin")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_SOURCE_DIR}/bin/release")
@@ -22,6 +24,7 @@ file(GLOB_RECURSE sources CONFIGURE_DEPENDS "openVulkanoCpp/*.cpp")
target_sources(openVulkanoCpp PRIVATE ${sources})
target_include_directories(openVulkanoCpp PUBLIC openVulkanoCpp)
#Setup Vulkan
find_package(Vulkan REQUIRED)
set(Vulkan_LIBRARIES Vulkan::Vulkan)
@@ -41,34 +44,14 @@ endif()
set_property(TARGET openVulkanoCpp PROPERTY CXX_STANDARD 17)
target_compile_options(openVulkanoCpp PRIVATE -Wall)
# glfw
if (NOT ANDROID)
add_subdirectory(external/glfw EXCLUDE_FROM_ALL)
add_dependencies(openVulkanoCpp glfw)
target_include_directories(openVulkanoCpp PUBLIC external/glfw/include/GLFW)
if (NOT ANDROID AND NOT IOS)
target_link_libraries(openVulkanoCpp PRIVATE glfw)
endif()
# glm
include_directories(external/glm)
target_link_libraries(openVulkanoCpp PRIVATE magic_enum yaml-cpp spdlog glm assimp)
add_compile_definitions(GLM_FORCE_INTRINSICS)
# fmt
#add_subdirectory(external/fmt EXCLUDE_FROM_ALL)
#target_link_libraries(openVulkanoCpp PRIVATE fmt)
# spdlog
include_directories(external/spdlog/include)
#add_definitions(-SPDLOG_FMT_EXTERNAL)
# assimp
include_directories(external/assimp)
IF(WIN32)
find_library(ASSIMP_LIBRARIES NAMES assimp libassimp.dll.a PATHS ${CMAKE_SOURCE_DIR}/libs/assimp)
ELSE(WIN32)
find_package(assimp REQUIRED)
ENDIF(WIN32)
# copy shaders
file(GLOB SHADERS "openVulkanoCpp/Shader/*.spv")
file(COPY ${SHADERS} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG}/Shader/)

1
external/assimp vendored

Submodule external/assimp deleted from 799fd74714

1
external/fmt vendored

Submodule external/fmt deleted from 91f7619cc9

1
external/glfw vendored

Submodule external/glfw deleted from d25248343e

1
external/glm vendored

Submodule external/glm deleted from ea678faff9

1
external/spdlog vendored

Submodule external/spdlog deleted from aa65dd8905

View File

@@ -14,6 +14,8 @@
#include "Data/ReadOnlyAtomicArrayQueue.hpp"
#include "CommandHelper.hpp"
#include "Base/EngineConfiguration.hpp"
#include <vector>
#include <thread>
namespace openVulkanoCpp::Vulkan
{