Merge branch 'master' into windows_build_fix
This commit is contained in:
46
3rdParty/CMakeLists.txt
vendored
46
3rdParty/CMakeLists.txt
vendored
@@ -4,8 +4,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)
|
||||
@@ -19,22 +19,32 @@ add_subdirectory(tracy)
|
||||
add_subdirectory(libstud-uuid)
|
||||
add_subdirectory(rapidyaml)
|
||||
|
||||
ExternalProject_Add(libjpeg-turbo
|
||||
GIT_REPOSITORY https://github.com/libjpeg-turbo/libjpeg-turbo.git
|
||||
GIT_TAG 2.0.x
|
||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
)
|
||||
|
||||
if (NOT LINUX)
|
||||
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
|
||||
)
|
||||
#TODO move into a different file
|
||||
find_package(LibArchive QUIET)
|
||||
if (NOT LibArchive_FOUND)
|
||||
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)
|
||||
else ()
|
||||
message("Using system LibArchive")
|
||||
set(USING_SYSTEM_LIBARCHIVE ON PARENT_SCOPE)
|
||||
endif ()
|
||||
|
||||
list(APPEND CMAKE_PREFIX_PATH ${CMAKE_BINARY_DIR}/deps/INSTALL)
|
||||
endif()
|
||||
function(LinkLibArchive TARGET)
|
||||
find_package(LibArchive REQUIRED)
|
||||
set(ZLIB_USE_STATIC_LIBS ON)
|
||||
find_package(ZLIB REQUIRED)
|
||||
find_package(LZ4 QUIET)
|
||||
find_package(zstd QUIET)
|
||||
find_package(BZip2 QUIET)
|
||||
find_package(LibLZMA QUIET)
|
||||
target_include_directories(${TARGET} PRIVATE ${LibArchive_INCLUDE_DIR})
|
||||
target_link_libraries(${TARGET} PRIVATE ${LibArchive_LIBRARIES} ${ZLIB_LIBRARIES} ${zstd_LIBRARIES} ${LZ4_LIBRARIES} ${LIBLZMA_LIBRARIES} ${BZIP2_LIBRARIES})
|
||||
endfunction()
|
||||
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()
|
||||
3
3rdParty/glfw/CMakeLists.txt
vendored
3
3rdParty/glfw/CMakeLists.txt
vendored
@@ -13,4 +13,5 @@ FetchContent_Declare(
|
||||
)
|
||||
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
|
||||
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
||||
FetchContent_MakeAvailable(glfw)
|
||||
FetchContent_MakeAvailable(glfw)
|
||||
set(glfw_FOUND ON PARENT_SCOPE)
|
||||
21
3rdParty/glm/CMakeLists.txt
vendored
21
3rdParty/glm/CMakeLists.txt
vendored
@@ -8,16 +8,21 @@ FetchContent_Declare(
|
||||
glm
|
||||
EXCLUDE_FROM_ALL
|
||||
GIT_REPOSITORY ${GLM_REPO}
|
||||
GIT_TAG 0.9.9.8
|
||||
GIT_TAG 1.0.1
|
||||
GIT_SHALLOW TRUE
|
||||
)
|
||||
set(GLM_TEST_ENABLE OFF CACHE BOOL "" FORCE)
|
||||
FetchContent_MakeAvailable(glm)
|
||||
add_compile_definitions(GLM_FORCE_SILENT_WARNINGS)
|
||||
|
||||
if (NOT ANDROID AND NOT IOS)
|
||||
# TODO check target architecture first
|
||||
add_compile_definitions(GLM_FORCE_AVX2)
|
||||
else ()
|
||||
add_compile_definitions(GLM_FORCE_INTRINSICS)
|
||||
endif ()
|
||||
function(SetGlmDefines TARGET)
|
||||
target_compile_definitions(${TARGET} PUBLIC GLM_FORCE_SILENT_WARNINGS)
|
||||
target_compile_definitions(${TARGET} PUBLIC GLM_ENABLE_EXPERIMENTAL)
|
||||
target_compile_definitions(${TARGET} PUBLIC GLM_FORCE_ALIGNED_GENTYPES)
|
||||
|
||||
if (NOT ANDROID AND NOT IOS)
|
||||
# TODO check target architecture first
|
||||
target_compile_definitions(${TARGET} PUBLIC GLM_FORCE_AVX2)
|
||||
else ()
|
||||
target_compile_definitions(${TARGET} PUBLIC GLM_FORCE_INTRINSICS)
|
||||
endif ()
|
||||
endfunction()
|
||||
25
3rdParty/imgui/CMakeLists.txt
vendored
25
3rdParty/imgui/CMakeLists.txt
vendored
@@ -24,33 +24,12 @@ add_library(imgui_internal STATIC
|
||||
${IMGUI_SRC_DIR}/backends/imgui_impl_vulkan.cpp
|
||||
)
|
||||
|
||||
find_package(glfw3)
|
||||
if (glfw3_FOUND)
|
||||
if (glfw_FOUND)
|
||||
target_sources(imgui_internal PRIVATE ${IMGUI_SRC_DIR}/backends/imgui_impl_glfw.cpp)
|
||||
target_link_libraries(imgui_internal PUBLIC glfw)
|
||||
endif ()
|
||||
|
||||
if (APPLE)
|
||||
# Try to find xcframework of MoltenVK
|
||||
cmake_path(SET MoltenVK_path NORMALIZE "$ENV{VULKAN_SDK}/../MoltenVK/")
|
||||
cmake_path(SET MoltenVK_XC_path NORMALIZE "$ENV{VULKAN_SDK}/../MoltenVK/MoltenVK.xcframework")
|
||||
if (EXISTS "${MoltenVK_path}" AND EXISTS "${MoltenVK_XC_path}")
|
||||
if (EXISTS "${MoltenVK_path}/include")
|
||||
set(Vulkan_INCLUDE_DIR "${MoltenVK_path}/include")
|
||||
endif()
|
||||
|
||||
target_link_libraries(imgui_internal PRIVATE "${MoltenVK_XC_path}/ios-arm64/libMoltenVK.a")
|
||||
message("Found MoltenVK xcframework: ${MoltenVK_XC_path}")
|
||||
endif()
|
||||
|
||||
if (NOT ${Vulkan_INCLUDE_DIR})
|
||||
#find_package(Vulkan REQUIRED COMPONENTS MoltenVK)
|
||||
#target_link_libraries(imgui_internal PRIVATE Vulkan::MoltenVK)
|
||||
endif()
|
||||
else ()
|
||||
find_package(Vulkan REQUIRED)
|
||||
target_link_libraries(imgui_internal PRIVATE Vulkan::Vulkan)
|
||||
endif()
|
||||
SetupVulkan(imgui_internal)
|
||||
target_include_directories(imgui_internal PUBLIC ${Vulkan_INCLUDE_DIR})
|
||||
|
||||
target_include_directories(imgui_internal
|
||||
|
||||
11
3rdParty/libarchive/CMakeLists.txt
vendored
11
3rdParty/libarchive/CMakeLists.txt
vendored
@@ -17,7 +17,7 @@ endif ()
|
||||
|
||||
ExternalProject_Add(zlib
|
||||
GIT_REPOSITORY ${ZLIB_REPO}
|
||||
GIT_TAG v1.2.11
|
||||
GIT_TAG v1.3.1
|
||||
GIT_SHALLOW TRUE
|
||||
SOURCE_DIR zlib
|
||||
BINARY_DIR zlib-build
|
||||
@@ -31,7 +31,7 @@ ExternalProject_Add(zlib
|
||||
|
||||
ExternalProject_Add(zstd
|
||||
GIT_REPOSITORY ${ZSTD_REPO}
|
||||
GIT_TAG v1.5.1
|
||||
GIT_TAG v1.5.6
|
||||
GIT_SHALLOW TRUE
|
||||
SOURCE_DIR zstd
|
||||
SOURCE_SUBDIR build/cmake
|
||||
@@ -47,7 +47,7 @@ ExternalProject_Add(zstd
|
||||
|
||||
ExternalProject_Add(lz4
|
||||
GIT_REPOSITORY ${LZ4_REPO}
|
||||
GIT_TAG v1.9.3
|
||||
GIT_TAG v1.9.4
|
||||
GIT_SHALLOW TRUE
|
||||
SOURCE_DIR lz4
|
||||
BINARY_DIR lz4-build
|
||||
@@ -55,6 +55,9 @@ ExternalProject_Add(lz4
|
||||
CMAKE_GENERATOR ${CMAKE_GENERATOR}
|
||||
CMAKE_ARGS
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF
|
||||
-DLZ4_BUILD_CLI:BOOL=OFF
|
||||
-DLZ4_BUILD_LEGACY_LZ4C:BOOL=OFF
|
||||
-DLZ4_BUNDLE_MODE:BOOL=OFF
|
||||
-DCMAKE_BUILD_TYPE:STRING=Release
|
||||
-DCMAKE_TOOLCHAIN_FILE:FILEPATH=${TOOLCHAIN_FILE}
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_BINARY_DIR}/INSTALL
|
||||
@@ -64,7 +67,7 @@ ExternalProject_Add(
|
||||
libarchive
|
||||
DEPENDS zlib zstd lz4
|
||||
GIT_REPOSITORY ${LIBARCHIVE_REPO}
|
||||
GIT_TAG v3.7.0
|
||||
GIT_TAG v3.7.4
|
||||
GIT_SHALLOW TRUE
|
||||
SOURCE_DIR libarchive
|
||||
BINARY_DIR libarchive-build
|
||||
|
||||
Reference in New Issue
Block a user