Skip to content

LibRaw-cmake: sync w/ upstream, drop JasPer #18972

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1073,7 +1073,6 @@ if(USE_LIBRAW AND NOT (DONT_USE_INTERNAL_LIBRAW AND libraw_FOUND))
set(ENABLE_OPENMP OFF CACHE BOOL "")
endif()
set(ENABLE_LCMS OFF CACHE BOOL "")
set(ENABLE_JASPER OFF CACHE BOOL "")

# LibRaw sub-module
add_subdirectory(external/LibRaw-cmake)
Expand Down
36 changes: 22 additions & 14 deletions src/external/LibRaw-cmake/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,9 @@ if(MSVC)
add_definitions(-D_AFX_SECURE_NO_WARNINGS)
endif()

# For variables in $<INSTALL_INTERFACE:...>
include(GNUInstallDirs)

# -- Check dependencies --------------------------------------------------------------------------------

set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH} )
Expand All @@ -119,10 +122,16 @@ include(MacroBoolTo01)
include(MacroLogFeature)
include(MacroOptionalFindPackage)

set(LIBRAW_PC_LIBS_PRIVATE "")
set(LIBRAW_PC_REQUIRES_PRIVATE "")

# Math library check

if(NOT WIN32)
if(NOT WIN32 AND NOT EMSCRIPTEN)
FIND_LIBRARY(MATH_LIBRARY m)
if(MATH_LIBRARY)
string(APPEND LIBRAW_PC_LIBS_PRIVATE " -l${MATH_LIBRARY}")
endif()
endif()

# LCMS version 1 and 2 library check
Expand All @@ -141,6 +150,7 @@ if(ENABLE_LCMS)
# Flag to compile Little CMS version 2 with LibRaw
add_definitions(-DUSE_LCMS2)
set(LCMS_SUPPORT_CAN_BE_COMPILED true)
string(APPEND LIBRAW_PC_REQUIRES_PRIVATE " lcms2")
else()
message(STATUS "Check for LCMS availability instead LCMS2...")
find_package(LCMS)
Expand All @@ -153,6 +163,7 @@ if(ENABLE_LCMS)
# For compatibility
set(LCMS2_LIBRARIES ${LCMS_LIBRARIES})
set(LCMS_SUPPORT_CAN_BE_COMPILED true)
string(APPEND LIBRAW_PC_REQUIRES_PRIVATE " lcms")
endif()
endif()
endif()
Expand All @@ -168,6 +179,7 @@ find_package(JPEG)
# Flag to use zlib with LibRaw DNG deflate codec
if(ZLIB_FOUND)
add_definitions(-DUSE_ZLIB)
string(APPEND LIBRAW_PC_REQUIRES_PRIVATE " zlib")
endif()

# For registration to libraw_config.h
Expand All @@ -189,6 +201,7 @@ MACRO_LOG_FEATURE(JPEG8_FOUND "libjpeg" "JPEG image format support" "http://www.
if(JPEG8_FOUND)
add_definitions(-DUSE_JPEG)
add_definitions(-DUSE_JPEG8)
string(APPEND LIBRAW_PC_REQUIRES_PRIVATE " libjpeg")
endif()

# For registration to libraw_config.h
Expand All @@ -208,14 +221,15 @@ MACRO_BOOL_TO_01(OPENMP_SUPPORT_CAN_BE_COMPILED LIBRAW_USE_OPENMP)

# Jasper library check
set(JASPER_SUPPORT_CAN_BE_COMPILED false)
if(ENABLE_JASPER)
if(RAW_LIB_VERSION_STRING VERSION_LESS 0.22 AND ENABLE_JASPER)
find_package(Jasper)

# Flag to use libjasper with LibRaw RedCine codec
if(JASPER_FOUND)
add_definitions(-DUSE_JASPER)
include_directories(${JASPER_INCLUDE_DIR})
set(JASPER_SUPPORT_CAN_BE_COMPILED true)
string(APPEND LIBRAW_PC_REQUIRES_PRIVATE " jasper")
endif()
endif()

Expand Down Expand Up @@ -482,7 +496,7 @@ endif()

target_include_directories(raw
PUBLIC
$<INSTALL_INTERFACE:libraw>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/libraw>
$<BUILD_INTERFACE:${LIBRAW_PATH}>)

target_link_libraries(raw PUBLIC ${MATH_LIBRARY})
Expand Down Expand Up @@ -551,7 +565,7 @@ set_target_properties(raw_r PROPERTIES POSITION_INDEPENDENT_CODE ON)
target_link_libraries(raw_r PUBLIC ${MATH_LIBRARY})
target_include_directories(raw_r
PUBLIC
$<INSTALL_INTERFACE:libraw>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/libraw>
$<BUILD_INTERFACE:${LIBRAW_PATH}>)

if(WIN32)
Expand Down Expand Up @@ -593,17 +607,11 @@ set_target_properties(raw_r PROPERTIES COMPILE_PDB_NAME "raw_r")
# -- Files to install -------------------------------------------------------------------------------------
if (LIBRAW_INSTALL)
# Configure and install data file for packaging.
include(GNUInstallDirs)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/data/libraw.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libraw.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libraw.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)

if(NOT MSVC)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/data/libraw.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libraw.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libraw.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)

configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/data/libraw_r.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libraw_r.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libraw_r.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)

configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/data/libraw.lsm.cmake ${CMAKE_CURRENT_BINARY_DIR}/libraw.lsm)
endif()
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/data/libraw_r.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libraw_r.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libraw_r.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)

# Install Shared header files.
install(FILES ${LIBRAW_PATH}/libraw/libraw.h
Expand Down
13 changes: 0 additions & 13 deletions src/external/LibRaw-cmake/cmake/data/libraw.lsm.cmake

This file was deleted.

2 changes: 2 additions & 0 deletions src/external/LibRaw-cmake/cmake/data/libraw.pc.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,5 @@ Requires:
Version: @RAW_LIB_VERSION_STRING@
Libs: -L${libdir} -lraw
Cflags: -I${includedir} -I${includedir}/libraw
Libs.private: @LIBRAW_PC_LIBS_PRIVATE@
Requires.private: @LIBRAW_PC_REQUIRES_PRIVATE@
2 changes: 2 additions & 0 deletions src/external/LibRaw-cmake/cmake/data/libraw_r.pc.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,5 @@ Requires:
Version: @RAW_LIB_VERSION_STRING@
Libs: -L${libdir} -lraw_r
Cflags: -I${includedir} -I${includedir}/libraw
Libs.private: @LIBRAW_PC_LIBS_PRIVATE@
Requires.private: @LIBRAW_PC_REQUIRES_PRIVATE@
Loading