Make assimp optional
This commit is contained in:
2
3rdParty/CMakeLists.txt
vendored
2
3rdParty/CMakeLists.txt
vendored
@@ -2,8 +2,8 @@ add_subdirectory(glm)
|
||||
if (NOT ANDROID AND NOT IOS)
|
||||
add_subdirectory(glfw)
|
||||
add_subdirectory(ftxui)
|
||||
add_subdirectory(assimp)
|
||||
endif()
|
||||
add_subdirectory(assimp)
|
||||
add_subdirectory(fmt)
|
||||
add_subdirectory(spdlog)
|
||||
add_subdirectory(yaml-cpp)
|
||||
|
||||
52
3rdParty/assimp/CMakeLists.txt
vendored
52
3rdParty/assimp/CMakeLists.txt
vendored
@@ -1,23 +1,39 @@
|
||||
include(FetchContent)
|
||||
|
||||
if(NOT DEFINED ASSIMP_REPO)
|
||||
set(ASSIMP_REPO https://github.com/assimp/assimp.git)
|
||||
find_package(assimp QUIET)
|
||||
if (assimp_FOUND)
|
||||
message("Using system assimp")
|
||||
elseif (USE_ASSIMP)
|
||||
if(NOT DEFINED ASSIMP_REPO)
|
||||
set(ASSIMP_REPO https://github.com/assimp/assimp.git)
|
||||
endif ()
|
||||
FetchContent_Declare(
|
||||
assimp
|
||||
EXCLUDE_FROM_ALL
|
||||
GIT_REPOSITORY ${ASSIMP_REPO}
|
||||
GIT_TAG v5.0.1
|
||||
GIT_SHALLOW TRUE
|
||||
)
|
||||
|
||||
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)
|
||||
set(ASSIMP_BUILD_ASSIMP_TOOLS OFF CACHE BOOL "" FORCE)
|
||||
set(ASSIMP_BUILD_SAMPLES OFF CACHE BOOL "" FORCE)
|
||||
|
||||
FetchContent_MakeAvailable(assimp)
|
||||
|
||||
set(assimp_FOUND ON PARENT_SCOPE)
|
||||
endif ()
|
||||
|
||||
FetchContent_Declare(
|
||||
assimp
|
||||
EXCLUDE_FROM_ALL
|
||||
GIT_REPOSITORY ${ASSIMP_REPO}
|
||||
GIT_TAG v5.0.1
|
||||
GIT_SHALLOW TRUE
|
||||
)
|
||||
|
||||
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)
|
||||
set(ASSIMP_BUILD_ASSIMP_TOOLS OFF CACHE BOOL "" FORCE)
|
||||
set(ASSIMP_BUILD_SAMPLES OFF CACHE BOOL "" FORCE)
|
||||
|
||||
FetchContent_MakeAvailable(assimp)
|
||||
function(LinkAssimp TARGET)
|
||||
if (NOT assimp_FOUND)
|
||||
find_package(assimp QUIET)
|
||||
endif ()
|
||||
if (assimp_FOUND)
|
||||
target_link_libraries(${TARGET} PUBLIC assimp)
|
||||
endif ()
|
||||
endfunction()
|
||||
@@ -1,10 +1,14 @@
|
||||
cmake_minimum_required(VERSION 3.28 FATAL_ERROR)
|
||||
|
||||
option(USE_ASSIMP "If assimp should be used" ON)
|
||||
|
||||
include(cmake/VarsFromFile.cmake)
|
||||
include(cmake/SetCompilerSettings.cmake)
|
||||
include(cmake/SetupVulkan.cmake)
|
||||
include(cmake/Filter.cmake)
|
||||
|
||||
VarsFromFile("DependencyMirrors.txt") # Load mirror list (for CICD)
|
||||
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)
|
||||
|
||||
if(LINUX)
|
||||
@@ -84,7 +88,6 @@ if (NOT ANDROID AND NOT IOS)
|
||||
if (libjpeg-turbo_FOUND)
|
||||
target_link_libraries(openVulkanoCpp PRIVATE libjpeg-turbo::turbojpeg)
|
||||
endif()
|
||||
target_link_libraries(openVulkanoCpp PRIVATE assimp)
|
||||
target_link_libraries(openVulkanoCpp PRIVATE ftxui::screen ftxui::dom ftxui::component)
|
||||
endif()
|
||||
|
||||
@@ -107,3 +110,5 @@ if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
endif()
|
||||
|
||||
SetGlmDefines(openVulkanoCpp)
|
||||
|
||||
LinkAssimp(openVulkanoCpp)
|
||||
Reference in New Issue
Block a user