Skip to content
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

CMake: Fix ENABLE_MAGICK #701

Merged
merged 1 commit into from
Jul 13, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
83 changes: 42 additions & 41 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -186,56 +186,57 @@ target_link_libraries(openshot PUBLIC OpenShot::Audio)
###

# Find the ImageMagick++ library
find_package(ImageMagick COMPONENTS Magick++ MagickCore)
if (ENABLE_MAGICK)
find_package(ImageMagick COMPONENTS Magick++ MagickCore)

if(ImageMagick_FOUND)
if(NOT TARGET ImageMagick::Magick++ AND NOT TARGET Magick++_TARGET)
add_library(Magick++_TARGET INTERFACE)

# Include ImageMagick++ headers (needed for compile)
set_property(TARGET Magick++_TARGET APPEND PROPERTY
INTERFACE_INCLUDE_DIRECTORIES ${ImageMagick_INCLUDE_DIRS})

# Set the Quantum Depth that ImageMagick was built with (default to 16 bits)
if(NOT DEFINED MAGICKCORE_QUANTUM_DEPTH)
set(MAGICKCORE_QUANTUM_DEPTH 16)
endif()
if(NOT DEFINED MAGICKCORE_HDRI_ENABLE)
set(MAGICKCORE_HDRI_ENABLE 0)
endif()

set_property(TARGET Magick++_TARGET APPEND PROPERTY
INTERFACE_COMPILE_DEFINITIONS
MAGICKCORE_QUANTUM_DEPTH=${MAGICKCORE_QUANTUM_DEPTH})
set_property(TARGET Magick++_TARGET APPEND PROPERTY
INTERFACE_COMPILE_DEFINITIONS
MAGICKCORE_HDRI_ENABLE=${MAGICKCORE_HDRI_ENABLE})

target_link_libraries(Magick++_TARGET INTERFACE
${ImageMagick_LIBRARIES})

# Alias to our namespaced name
add_library(ImageMagick::Magick++ ALIAS Magick++_TARGET)

if(ImageMagick_FOUND)
if(NOT TARGET ImageMagick::Magick++ AND NOT TARGET Magick++_TARGET)
add_library(Magick++_TARGET INTERFACE)

# Include ImageMagick++ headers (needed for compile)
set_property(TARGET Magick++_TARGET APPEND PROPERTY
INTERFACE_INCLUDE_DIRECTORIES ${ImageMagick_INCLUDE_DIRS})

# Set the Quantum Depth that ImageMagick was built with (default to 16 bits)
if(NOT DEFINED MAGICKCORE_QUANTUM_DEPTH)
set(MAGICKCORE_QUANTUM_DEPTH 16)
endif()
if(NOT DEFINED MAGICKCORE_HDRI_ENABLE)
set(MAGICKCORE_HDRI_ENABLE 0)
endif()

set_property(TARGET Magick++_TARGET APPEND PROPERTY
INTERFACE_COMPILE_DEFINITIONS
MAGICKCORE_QUANTUM_DEPTH=${MAGICKCORE_QUANTUM_DEPTH})
set_property(TARGET Magick++_TARGET APPEND PROPERTY
INTERFACE_COMPILE_DEFINITIONS
MAGICKCORE_HDRI_ENABLE=${MAGICKCORE_HDRI_ENABLE})
# Add optional ImageMagic-dependent sources
target_sources(openshot PRIVATE
ImageReader.cpp
ImageWriter.cpp
TextReader.cpp)

target_link_libraries(Magick++_TARGET INTERFACE
${ImageMagick_LIBRARIES})
# define a preprocessor macro (used in the C++ source)
target_compile_definitions(openshot PUBLIC USE_IMAGEMAGICK=1)

# Alias to our namespaced name
add_library(ImageMagick::Magick++ ALIAS Magick++_TARGET)
# Link with ImageMagick library
target_link_libraries(openshot PUBLIC ImageMagick::Magick++)

set(HAVE_IMAGEMAGICK TRUE CACHE BOOL "Building with ImageMagick support" FORCE)
mark_as_advanced(HAVE_IMAGEMAGICK)
endif()

# Add optional ImageMagic-dependent sources
target_sources(openshot PRIVATE
ImageReader.cpp
ImageWriter.cpp
TextReader.cpp)

# define a preprocessor macro (used in the C++ source)
target_compile_definitions(openshot PUBLIC USE_IMAGEMAGICK=1)

# Link with ImageMagick library
target_link_libraries(openshot PUBLIC ImageMagick::Magick++)

set(HAVE_IMAGEMAGICK TRUE CACHE BOOL "Building with ImageMagick support" FORCE)
mark_as_advanced(HAVE_IMAGEMAGICK)
endif()


################### JSONCPP #####################
# Include jsoncpp headers (needed for JSON parsing)
if (USE_SYSTEM_JSONCPP)
Expand Down