Merge pull request 'Build script updates' (#27) from build_script_updates into master
Reviewed-on: https://git.madvoxel.net/OpenVulkano/OpenVulkano/pulls/27 Reviewed-by: Vladyslav_Baranovskyi_EXT <vladyslav.baranovskyi.ext@madvoxel.com> Reviewed-by: TymurStrelchyk <tymur.strelchyk.ext@madvoxel.com>
This commit is contained in:
26
3rdParty/libarchive/CMakeLists.txt
vendored
26
3rdParty/libarchive/CMakeLists.txt
vendored
@@ -38,11 +38,13 @@ ExternalProject_Add(zstd
|
||||
BINARY_DIR zstd-build
|
||||
CMAKE_GENERATOR ${CMAKE_GENERATOR}
|
||||
CMAKE_ARGS
|
||||
-DZSTD_BUILD_PROGRAMS:BOOL=OFF
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF
|
||||
-DCMAKE_BUILD_TYPE:STRING=Release
|
||||
-DCMAKE_TOOLCHAIN_FILE:FILEPATH=${TOOLCHAIN_FILE}
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_BINARY_DIR}/INSTALL
|
||||
-DZSTD_BUILD_PROGRAMS:BOOL=OFF
|
||||
-DZSTD_BUILD_SHARED:BOOL=OFF
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF
|
||||
-DZSTD_BUILD_STATIC:BOOL=ON
|
||||
-DCMAKE_BUILD_TYPE:STRING=Release
|
||||
-DCMAKE_TOOLCHAIN_FILE:FILEPATH=${TOOLCHAIN_FILE}
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_BINARY_DIR}/INSTALL
|
||||
)
|
||||
|
||||
ExternalProject_Add(lz4
|
||||
@@ -54,13 +56,13 @@ ExternalProject_Add(lz4
|
||||
SOURCE_SUBDIR build/cmake
|
||||
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
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF
|
||||
-DLZ4_BUILD_CLI:BOOL=OFF
|
||||
-DLZ4_BUILD_LEGACY_LZ4C:BOOL=OFF
|
||||
-DLZ4_BUNDLE_MODE:BOOL=ON
|
||||
-DCMAKE_BUILD_TYPE:STRING=Release
|
||||
-DCMAKE_TOOLCHAIN_FILE:FILEPATH=${TOOLCHAIN_FILE}
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_BINARY_DIR}/INSTALL
|
||||
)
|
||||
|
||||
ExternalProject_Add(
|
||||
|
||||
28
3rdParty/libjpeg-turbo/CMakeLists.txt
vendored
28
3rdParty/libjpeg-turbo/CMakeLists.txt
vendored
@@ -1,4 +1,5 @@
|
||||
include(FetchContent)
|
||||
include(../../cmake/Utils.cmake)
|
||||
|
||||
Find_Package(libjpeg-turbo QUIET)
|
||||
if (libjpeg-turbo_FOUND)
|
||||
@@ -11,20 +12,29 @@ else ()
|
||||
)
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR}/deps_ljt
|
||||
RESULT_VARIABLE build_result
|
||||
RESULT_VARIABLE build_result
|
||||
)
|
||||
if (NOT ${build_result} EQUAL "0")
|
||||
message(FATAL_ERROR "Failed to build libjpeg-turbo!")
|
||||
endif()
|
||||
if (NOT ${build_result} EQUAL "0")
|
||||
message(FATAL_ERROR "Failed to build libjpeg-turbo!")
|
||||
endif()
|
||||
|
||||
set(libjpeg-turbo_BUILT "built libjpeg-turbo" CACHE INTERNAL ON)
|
||||
endif ()
|
||||
|
||||
|
||||
function(LinkLibJpegTurbo TARGET)
|
||||
if (libjpeg-turbo_BUILT)
|
||||
list(APPEND CMAKE_PREFIX_PATH ${CMAKE_BINARY_DIR}/deps_ljt/INSTALL/lib/cmake)
|
||||
endif()
|
||||
find_package(libjpeg-turbo REQUIRED)
|
||||
target_link_libraries(${TARGET} PUBLIC libjpeg-turbo::turbojpeg-static)
|
||||
if (libjpeg-turbo_BUILT)
|
||||
FindCmakeConfigDirs("${CMAKE_BINARY_DIR}/deps_ljt/INSTALL/" CMAKE_PREFIX_PATH)
|
||||
endif()
|
||||
find_package(libjpeg-turbo REQUIRED)
|
||||
message("libjpeg-turbo was found in: ${libjpeg-turbo_DIR}")
|
||||
if (TARGET libjpeg-turbo::turbojpeg-static)
|
||||
target_link_libraries(${TARGET} PUBLIC libjpeg-turbo::turbojpeg-static)
|
||||
message("Linking static libjpeg-turbo")
|
||||
elseif (TARGET libjpeg-turbo::turbojpeg)
|
||||
target_link_libraries(${TARGET} PUBLIC libjpeg-turbo::turbojpeg)
|
||||
message("Linking shared libjpeg-turbo")
|
||||
else ()
|
||||
message(FATAL_ERROR "Neither static nor shared libjpeg-turbo exists")
|
||||
endif ()
|
||||
endfunction()
|
||||
@@ -105,4 +105,4 @@ LinkAssimp(openVulkanoCpp)
|
||||
LinkLibArchive(openVulkanoCpp)
|
||||
LinkLibJpegTurbo(openVulkanoCpp)
|
||||
|
||||
set(VS_STARTUP_PROJECT openVulkanoCpp)
|
||||
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT openVulkanoCpp)
|
||||
|
||||
10
cmake/Utils.cmake
Normal file
10
cmake/Utils.cmake
Normal file
@@ -0,0 +1,10 @@
|
||||
function(FindCmakeConfigDirs BASE_DIR OUTPUT_NAME)
|
||||
file(GLOB_RECURSE ALL_CONFIGS "${BASE_DIR}/*[Cc]onfig.cmake")
|
||||
set(PACKAGE_SUB_DIRS "")
|
||||
foreach(CONF ${ALL_CONFIGS})
|
||||
get_filename_component(DIR_NAME "${CONF}" DIRECTORY)
|
||||
list(APPEND PACKAGE_SUB_DIRS "${DIR_NAME}")
|
||||
endforeach()
|
||||
list(REMOVE_DUPLICATES PACKAGE_SUB_DIRS)
|
||||
set(${OUTPUT_NAME} ${PACKAGE_SUB_DIRS} PARENT_SCOPE)
|
||||
endfunction()
|
||||
Reference in New Issue
Block a user