From 348affd6dcc12ab9e550383db929d9b6bce7165a Mon Sep 17 00:00:00 2001 From: Vladyslav Baranovskyi Date: Wed, 22 May 2024 18:15:58 +0300 Subject: [PATCH] Fetching libjpeg-turbo using ExternalProject --- 3rdParty/CMakeLists.txt | 9 +++++++++ CMakeLists.txt | 15 +++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/3rdParty/CMakeLists.txt b/3rdParty/CMakeLists.txt index a40f3d2..a8dd9e9 100644 --- a/3rdParty/CMakeLists.txt +++ b/3rdParty/CMakeLists.txt @@ -1,3 +1,5 @@ +include(ExternalProject) + add_subdirectory(glm) if (NOT ANDROID AND NOT IOS) add_subdirectory(glfw) @@ -17,6 +19,13 @@ 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( diff --git a/CMakeLists.txt b/CMakeLists.txt index e555ef4..576b1c3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -80,12 +80,19 @@ SetupVulkan(openVulkanoCpp) set_property(TARGET openVulkanoCpp PROPERTY CXX_STANDARD 17) if (NOT ANDROID AND NOT IOS) - Find_Package(libjpeg-turbo) + #Find_Package(libjpeg-turbo) + # Libjpeg-turbo + add_dependencies(openVulkanoCpp libjpeg-turbo) + ExternalProject_Get_Property(libjpeg-turbo INSTALL_DIR) + include_directories(${INSTALL_DIR}/include) + link_directories(${INSTALL_DIR}/lib ${INSTALL_DIR}/lib64) + target_link_libraries(openVulkanoCpp PRIVATE ${INSTALL_DIR}/lib/libturbojpeg.a) + target_include_directories(openVulkanoCpp PRIVATE ${OpenCV_INCLUDE_DIRS}) target_link_libraries(openVulkanoCpp PRIVATE glfw ${OpenCV_LIBS} pugixml) - if (libjpeg-turbo_FOUND) - target_link_libraries(openVulkanoCpp PRIVATE libjpeg-turbo::turbojpeg) - endif() + #if (libjpeg-turbo_FOUND) + # target_link_libraries(openVulkanoCpp PRIVATE libjpeg-turbo::turbojpeg) + #endif() target_link_libraries(openVulkanoCpp PRIVATE assimp) add_compile_definitions(GLM_FORCE_AVX2) target_link_libraries(openVulkanoCpp PRIVATE ftxui::screen ftxui::dom ftxui::component)