|
24 | 24 | # along with OpenShot Library. If not, see <http://www.gnu.org/licenses/>. |
25 | 25 | ################################################################################ |
26 | 26 |
|
27 | | -SET(TEST_MEDIA_PATH "${PROJECT_SOURCE_DIR}/src/examples/") |
| 27 | +# Test media path, used by unit tests for input data |
| 28 | +file(TO_NATIVE_PATH "${PROJECT_SOURCE_DIR}/src/examples/" TEST_MEDIA_PATH) |
| 29 | +add_definitions( -DTEST_MEDIA_PATH="${TEST_MEDIA_PATH}" ) |
28 | 30 |
|
29 | 31 | ################ WINDOWS ################## |
30 | 32 | # Set some compiler options for Windows |
31 | 33 | # required for libopenshot-audio headers |
32 | | -IF (WIN32) |
33 | | - STRING(REPLACE "/" "\\\\" TEST_MEDIA_PATH TEST_MEDIA_PATH) |
| 34 | +if(WIN32) |
34 | 35 | add_definitions( -DIGNORE_JUCE_HYPOT=1 ) |
35 | | - SET(CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -include cmath") |
36 | | -ENDIF(WIN32) |
37 | | - |
38 | | -add_definitions( -DTEST_MEDIA_PATH="${TEST_MEDIA_PATH}" ) |
| 36 | + set(CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -include cmath") |
| 37 | +endif() |
39 | 38 |
|
40 | 39 | ################### UNITTEST++ ##################### |
41 | 40 | # Find UnitTest++ libraries (used for unit testing) |
42 | | -FIND_PACKAGE(UnitTest++ REQUIRED) |
| 41 | +find_package(UnitTest++) |
| 42 | + |
| 43 | +if (NOT UnitTest++_FOUND) |
| 44 | + set(TESTS_ENABLED OFF PARENT_SCOPE) |
| 45 | + return() |
| 46 | +endif() |
43 | 47 |
|
44 | 48 | # Include UnitTest++ headers (needed for compile) |
45 | 49 | include_directories(${UNITTEST++_INCLUDE_DIR}) |
46 | 50 |
|
47 | 51 | ################ IMAGE MAGICK ################## |
48 | 52 | # Set the Quantum Depth that ImageMagick was built with (default to 16 bits) |
49 | | -IF (MAGICKCORE_QUANTUM_DEPTH) |
| 53 | +if(MAGICKCORE_QUANTUM_DEPTH) |
50 | 54 | add_definitions( -DMAGICKCORE_QUANTUM_DEPTH=${MAGICKCORE_QUANTUM_DEPTH} ) |
51 | | -ELSE (MAGICKCORE_QUANTUM_DEPTH) |
| 55 | +else() |
52 | 56 | add_definitions( -DMAGICKCORE_QUANTUM_DEPTH=16 ) |
53 | | -ENDIF (MAGICKCORE_QUANTUM_DEPTH) |
54 | | -IF (MAGICKCORE_HDRI_ENABLE) |
| 57 | +endif() |
| 58 | + |
| 59 | +if(MAGICKCORE_HDRI_ENABLE) |
55 | 60 | add_definitions( -DMAGICKCORE_HDRI_ENABLE=${MAGICKCORE_HDRI_ENABLE} ) |
56 | | -ELSE (MAGICKCORE_HDRI_ENABLE) |
| 61 | +else() |
57 | 62 | add_definitions( -DMAGICKCORE_HDRI_ENABLE=0 ) |
58 | | -ENDIF (MAGICKCORE_HDRI_ENABLE) |
59 | | -IF (OPENSHOT_IMAGEMAGICK_COMPATIBILITY) |
| 63 | +endif() |
| 64 | + |
| 65 | +if(OPENSHOT_IMAGEMAGICK_COMPATIBILITY) |
60 | 66 | add_definitions( -DOPENSHOT_IMAGEMAGICK_COMPATIBILITY=${OPENSHOT_IMAGEMAGICK_COMPATIBILITY} ) |
61 | | -ELSE (OPENSHOT_IMAGEMAGICK_COMPATIBILITY) |
| 67 | +else() |
62 | 68 | add_definitions( -DOPENSHOT_IMAGEMAGICK_COMPATIBILITY=0 ) |
63 | | -ENDIF (OPENSHOT_IMAGEMAGICK_COMPATIBILITY) |
| 69 | +endif() |
64 | 70 |
|
65 | 71 | # Find the ImageMagick++ library |
66 | | -FIND_PACKAGE(ImageMagick COMPONENTS Magick++ MagickWand MagickCore) |
67 | | -IF (ImageMagick_FOUND) |
| 72 | +find_package(ImageMagick COMPONENTS Magick++ MagickWand MagickCore) |
| 73 | +if(ImageMagick_FOUND) |
68 | 74 | # Include ImageMagick++ headers (needed for compile) |
69 | 75 | include_directories(${ImageMagick_INCLUDE_DIRS}) |
70 | 76 |
|
71 | 77 | # define a global var (used in the C++) |
72 | 78 | add_definitions( -DUSE_IMAGEMAGICK=1 ) |
73 | | - SET(CMAKE_SWIG_FLAGS "-DUSE_IMAGEMAGICK=1") |
74 | | - |
75 | | -ENDIF (ImageMagick_FOUND) |
| 79 | + set(CMAKE_SWIG_FLAGS "-DUSE_IMAGEMAGICK=1") |
| 80 | +endif() |
76 | 81 |
|
77 | 82 | ################# LIBOPENSHOT-AUDIO ################### |
78 | 83 | # Find JUCE-based openshot Audio libraries |
79 | | -FIND_PACKAGE(OpenShotAudio 0.1.9 REQUIRED) |
| 84 | +find_package(OpenShotAudio 0.1.9 REQUIRED) |
80 | 85 |
|
81 | 86 | # Include Juce headers (needed for compile) |
82 | 87 | include_directories(${LIBOPENSHOT_AUDIO_INCLUDE_DIRS}) |
83 | 88 |
|
84 | 89 |
|
85 | 90 | ################# BLACKMAGIC DECKLINK ################### |
86 | | -IF (ENABLE_BLACKMAGIC) |
| 91 | +if(ENABLE_BLACKMAGIC) |
87 | 92 | # Find BlackMagic DeckLinkAPI libraries |
88 | | - FIND_PACKAGE(BlackMagic) |
| 93 | + find_package(BlackMagic) |
89 | 94 |
|
90 | | - IF (BLACKMAGIC_FOUND) |
| 95 | + if(BLACKMAGIC_FOUND) |
91 | 96 | # Include Blackmagic headers (needed for compile) |
92 | 97 | include_directories(${BLACKMAGIC_INCLUDE_DIR}) |
93 | | - ENDIF (BLACKMAGIC_FOUND) |
94 | | -ENDIF (ENABLE_BLACKMAGIC) |
| 98 | + endif() |
| 99 | +endif() |
95 | 100 |
|
96 | 101 |
|
97 | 102 | ############### SET TEST SOURCE FILES ################# |
98 | | -SET ( OPENSHOT_TEST_FILES |
99 | | - Cache_Tests.cpp |
100 | | - Clip_Tests.cpp |
101 | | - Color_Tests.cpp |
102 | | - Coordinate_Tests.cpp |
103 | | - ReaderBase_Tests.cpp |
104 | | - ImageWriter_Tests.cpp |
105 | | - FFmpegReader_Tests.cpp |
106 | | - FFmpegWriter_Tests.cpp |
107 | | - Fraction_Tests.cpp |
108 | | - Frame_Tests.cpp |
109 | | - FrameMapper_Tests.cpp |
110 | | - KeyFrame_Tests.cpp |
111 | | - Point_Tests.cpp |
112 | | - Settings_Tests.cpp |
113 | | - Timeline_Tests.cpp ) |
| 103 | +set(OPENSHOT_TEST_FILES |
| 104 | + Cache_Tests.cpp |
| 105 | + Clip_Tests.cpp |
| 106 | + Color_Tests.cpp |
| 107 | + Coordinate_Tests.cpp |
| 108 | + ReaderBase_Tests.cpp |
| 109 | + ImageWriter_Tests.cpp |
| 110 | + FFmpegReader_Tests.cpp |
| 111 | + FFmpegWriter_Tests.cpp |
| 112 | + Fraction_Tests.cpp |
| 113 | + Frame_Tests.cpp |
| 114 | + FrameMapper_Tests.cpp |
| 115 | + KeyFrame_Tests.cpp |
| 116 | + Point_Tests.cpp |
| 117 | + Settings_Tests.cpp |
| 118 | + Timeline_Tests.cpp ) |
114 | 119 |
|
115 | 120 | ################ TESTER EXECUTABLE ################# |
116 | 121 | # Create unit test executable (openshot-test) |
117 | 122 | message (STATUS "Tests enabled, test executable will be built as tests/openshot-test") |
118 | 123 | add_executable(openshot-test |
119 | | - tests.cpp |
120 | | - ${OPENSHOT_TEST_FILES} ) |
| 124 | + tests.cpp |
| 125 | + ${OPENSHOT_TEST_FILES} ) |
121 | 126 |
|
122 | 127 | # Link libraries to the new executable |
123 | 128 | target_link_libraries(openshot-test openshot ${UNITTEST++_LIBRARY}) |
124 | 129 |
|
125 | 130 | ##### RUNNING TESTS (make os_test / make test) ##### |
126 | 131 | # Hook up the 'make os_test' target to the 'openshot-test' executable |
127 | | -ADD_CUSTOM_TARGET(os_test COMMAND openshot-test) |
| 132 | +add_custom_target(os_test COMMAND openshot-test) |
128 | 133 |
|
129 | 134 | # Also hook up 'make test', if possible |
130 | 135 | # This requires CMake 3.11+, where the CMP0037 policy |
|
0 commit comments