Files
OpenVulkano/3rdParty/libjpeg-turbo/CMakeLists.txt

49 lines
1.8 KiB
CMake

include(../../cmake/Utils.cmake)
if (NOT IOS)
Find_Package(libjpeg-turbo QUIET)
endif()
if (libjpeg-turbo_FOUND)
message("Using system libjpeg-turbo")
elseif (NOT IOS)
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/deps_ljt)
if (CMAKE_TOOLCHAIN_FILE)
if(NOT IS_ABSOLUTE ${CMAKE_TOOLCHAIN_FILE})
set(TOOLCHAIN "${CMAKE_BINARY_DIR}/${CMAKE_TOOLCHAIN_FILE}")
else()
set(TOOLCHAIN "${CMAKE_TOOLCHAIN_FILE}")
endif()
endif()
execute_process(
COMMAND ${CMAKE_COMMAND} -G ${CMAKE_GENERATOR} -DTOOLCHAIN_FILE=${TOOLCHAIN} ${CMAKE_CURRENT_SOURCE_DIR}/ext -DLIBJPEGTURBO_REPO=${LIBJPEGTURBO_REPO}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/deps_ljt
)
execute_process(
COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR}/deps_ljt --config Release
RESULT_VARIABLE build_result
)
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)
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()