Fix libjpeg-turbo linking on systems that only have shared libjpeg installed
This commit is contained in:
27
3rdParty/libjpeg-turbo/CMakeLists.txt
vendored
27
3rdParty/libjpeg-turbo/CMakeLists.txt
vendored
@@ -11,20 +11,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)
|
||||
list(APPEND CMAKE_PREFIX_PATH ${CMAKE_BINARY_DIR}/deps_ljt/INSTALL/lib/cmake)
|
||||
endif()
|
||||
find_package(libjpeg-turbo REQUIRED)
|
||||
message("${libjpeg-turbo_LIBRARIES}")
|
||||
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()
|
||||
Reference in New Issue
Block a user