Skip to content

Commit 414a2cd

Browse files
authored
Merge pull request #574 from ferdnyc/imagemagick-option
Add ENABLE_MAGICK CMake option (default ON)
2 parents 4e98fb7 + 172c3c0 commit 414a2cd

File tree

3 files changed

+57
-53
lines changed

3 files changed

+57
-53
lines changed

CMakeLists.txt

+3-2
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ option(ENABLE_IWYU "Enable 'Include What You Use' scanner (CMake 3.3+)" OFF)
7777
option(ENABLE_TESTS "Build unit tests (requires UnitTest++)" ON)
7878
option(ENABLE_DOCS "Build API documentation (requires Doxygen)" ON)
7979
option(APPIMAGE_BUILD "Build to install in an AppImage (Linux only)" OFF)
80+
option(ENABLE_MAGICK "Use ImageMagick, if available" ON)
8081

8182
# Legacy commandline override
8283
if (DISABLE_TESTS)
@@ -129,9 +130,9 @@ add_feature_info("Coverage" ENABLE_COVERAGE "analyze test coverage and generate
129130
# -DDEBUG for debug builds. We'll do this for all OSes, even
130131
# though only MacOS requires it.
131132
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG")
132-
# Make sure we've picked some build type, default to debug
133+
# Make sure we've picked some build type, default to release
133134
if(NOT DEFINED CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL "")
134-
set(CMAKE_BUILD_TYPE "Debug")
135+
set(CMAKE_BUILD_TYPE "Release")
135136
endif()
136137

137138
############## PROCESS src/ DIRECTORIES ##############

src/CMakeLists.txt

+25-23
Original file line numberDiff line numberDiff line change
@@ -65,29 +65,31 @@ endif()
6565

6666
################ IMAGE MAGICK ##################
6767
# Set the Quantum Depth that ImageMagick was built with (default to 16 bits)
68-
IF (MAGICKCORE_QUANTUM_DEPTH)
69-
add_definitions( -DMAGICKCORE_QUANTUM_DEPTH=${MAGICKCORE_QUANTUM_DEPTH} )
70-
ELSE (MAGICKCORE_QUANTUM_DEPTH)
71-
add_definitions( -DMAGICKCORE_QUANTUM_DEPTH=16 )
72-
ENDIF (MAGICKCORE_QUANTUM_DEPTH)
73-
IF (MAGICKCORE_HDRI_ENABLE)
74-
add_definitions( -DMAGICKCORE_HDRI_ENABLE=${MAGICKCORE_HDRI_ENABLE} )
75-
ELSE (MAGICKCORE_HDRI_ENABLE)
76-
add_definitions( -DMAGICKCORE_HDRI_ENABLE=0 )
77-
ENDIF (MAGICKCORE_HDRI_ENABLE)
78-
79-
# Find the ImageMagick++ library
80-
find_package(ImageMagick COMPONENTS Magick++ MagickWand MagickCore)
81-
if (ImageMagick_FOUND)
82-
# Include ImageMagick++ headers (needed for compile)
83-
include_directories(${ImageMagick_INCLUDE_DIRS})
84-
85-
# define a global var (used in the C++)
86-
add_definitions( -DUSE_IMAGEMAGICK=1 )
87-
list(APPEND CMAKE_SWIG_FLAGS "-DUSE_IMAGEMAGICK=1")
88-
89-
set(HAVE_IMAGEMAGICK TRUE CACHE BOOL "Building with ImageMagick support" FORCE)
90-
mark_as_advanced(HAVE_IMAGEMAGICK)
68+
if(ENABLE_MAGICK)
69+
IF (MAGICKCORE_QUANTUM_DEPTH)
70+
add_definitions( -DMAGICKCORE_QUANTUM_DEPTH=${MAGICKCORE_QUANTUM_DEPTH} )
71+
ELSE (MAGICKCORE_QUANTUM_DEPTH)
72+
add_definitions( -DMAGICKCORE_QUANTUM_DEPTH=16 )
73+
ENDIF (MAGICKCORE_QUANTUM_DEPTH)
74+
IF (MAGICKCORE_HDRI_ENABLE)
75+
add_definitions( -DMAGICKCORE_HDRI_ENABLE=${MAGICKCORE_HDRI_ENABLE} )
76+
ELSE (MAGICKCORE_HDRI_ENABLE)
77+
add_definitions( -DMAGICKCORE_HDRI_ENABLE=0 )
78+
ENDIF (MAGICKCORE_HDRI_ENABLE)
79+
80+
# Find the ImageMagick++ library
81+
find_package(ImageMagick COMPONENTS Magick++ MagickWand MagickCore)
82+
if (ImageMagick_FOUND)
83+
# Include ImageMagick++ headers (needed for compile)
84+
include_directories(${ImageMagick_INCLUDE_DIRS})
85+
86+
# define a global var (used in the C++)
87+
add_definitions( -DUSE_IMAGEMAGICK=1 )
88+
list(APPEND CMAKE_SWIG_FLAGS "-DUSE_IMAGEMAGICK=1")
89+
90+
set(HAVE_IMAGEMAGICK TRUE CACHE BOOL "Building with ImageMagick support" FORCE)
91+
mark_as_advanced(HAVE_IMAGEMAGICK)
92+
endif()
9193
endif()
9294

9395
################# LIBOPENSHOT-AUDIO ###################

tests/CMakeLists.txt

+29-28
Original file line numberDiff line numberDiff line change
@@ -58,35 +58,36 @@ set_package_properties(UnitTest++ PROPERTIES
5858
PURPOSE "Unit testing framework")
5959

6060
################ IMAGE MAGICK ##################
61-
# Set the Quantum Depth that ImageMagick was built with (default to 16 bits)
62-
if(MAGICKCORE_QUANTUM_DEPTH)
63-
add_definitions( -DMAGICKCORE_QUANTUM_DEPTH=${MAGICKCORE_QUANTUM_DEPTH} )
64-
else()
65-
add_definitions( -DMAGICKCORE_QUANTUM_DEPTH=16 )
66-
endif()
67-
68-
if(MAGICKCORE_HDRI_ENABLE)
69-
add_definitions( -DMAGICKCORE_HDRI_ENABLE=${MAGICKCORE_HDRI_ENABLE} )
70-
else()
71-
add_definitions( -DMAGICKCORE_HDRI_ENABLE=0 )
61+
if(ENABLE_MAGICK)
62+
# Set the Quantum Depth that ImageMagick was built with (default to 16 bits)
63+
if(MAGICKCORE_QUANTUM_DEPTH)
64+
add_definitions( -DMAGICKCORE_QUANTUM_DEPTH=${MAGICKCORE_QUANTUM_DEPTH} )
65+
else()
66+
add_definitions( -DMAGICKCORE_QUANTUM_DEPTH=16 )
67+
endif()
68+
69+
if(MAGICKCORE_HDRI_ENABLE)
70+
add_definitions( -DMAGICKCORE_HDRI_ENABLE=${MAGICKCORE_HDRI_ENABLE} )
71+
else()
72+
add_definitions( -DMAGICKCORE_HDRI_ENABLE=0 )
73+
endif()
74+
75+
if(OPENSHOT_IMAGEMAGICK_COMPATIBILITY)
76+
add_definitions( -DOPENSHOT_IMAGEMAGICK_COMPATIBILITY=${OPENSHOT_IMAGEMAGICK_COMPATIBILITY} )
77+
else()
78+
add_definitions( -DOPENSHOT_IMAGEMAGICK_COMPATIBILITY=0 )
79+
endif()
80+
81+
# Find the ImageMagick++ library
82+
find_package(ImageMagick COMPONENTS Magick++ MagickWand MagickCore)
83+
if(ImageMagick_FOUND)
84+
# Include ImageMagick++ headers (needed for compile)
85+
include_directories(${ImageMagick_INCLUDE_DIRS})
86+
87+
# define a global var (used in the C++)
88+
add_definitions( -DUSE_IMAGEMAGICK=1 )
89+
endif()
7290
endif()
73-
74-
if(OPENSHOT_IMAGEMAGICK_COMPATIBILITY)
75-
add_definitions( -DOPENSHOT_IMAGEMAGICK_COMPATIBILITY=${OPENSHOT_IMAGEMAGICK_COMPATIBILITY} )
76-
else()
77-
add_definitions( -DOPENSHOT_IMAGEMAGICK_COMPATIBILITY=0 )
78-
endif()
79-
80-
# Find the ImageMagick++ library
81-
find_package(ImageMagick COMPONENTS Magick++ MagickWand MagickCore)
82-
if(ImageMagick_FOUND)
83-
# Include ImageMagick++ headers (needed for compile)
84-
include_directories(${ImageMagick_INCLUDE_DIRS})
85-
86-
# define a global var (used in the C++)
87-
add_definitions( -DUSE_IMAGEMAGICK=1 )
88-
endif()
89-
9091
################# LIBOPENSHOT-AUDIO ###################
9192
# Find JUCE-based openshot Audio libraries
9293
find_package(OpenShotAudio 0.2.0 REQUIRED)

0 commit comments

Comments
 (0)