@@ -82,33 +82,14 @@ ENDIF (ImageMagick_FOUND)
8282# Find FFmpeg libraries (used for video encoding / decoding)
8383FIND_PACKAGE (FFmpeg REQUIRED)
8484
85- IF (AVCODEC_FOUND)
86- include_directories (${AVCODEC_INCLUDE_DIRS} )
87- ENDIF (AVCODEC_FOUND)
88- IF (AVDEVICE_FOUND)
89- include_directories (${AVDEVICE_INCLUDE_DIRS} )
90- ENDIF (AVDEVICE_FOUND)
91- IF (AVFORMAT_FOUND)
92- include_directories (${AVFORMAT_INCLUDE_DIRS} )
93- ENDIF (AVFORMAT_FOUND)
94- IF (AVFILTER_FOUND)
95- include_directories (${AVFILTER_INCLUDE_DIRS} )
96- ENDIF (AVFILTER_FOUND)
97- IF (AVUTIL_FOUND)
98- include_directories (${AVUTIL_INCLUDE_DIRS} )
99- ENDIF (AVUTIL_FOUND)
100- IF (POSTPROC_FOUND)
101- include_directories (${POSTPROC_INCLUDE_DIRS} )
102- ENDIF (POSTPROC_FOUND)
103- IF (SWSCALE_FOUND)
104- include_directories (${SWSCALE_INCLUDE_DIRS} )
105- ENDIF (SWSCALE_FOUND)
106- IF (SWRESAMPLE_FOUND)
107- include_directories (${SWRESAMPLE_INCLUDE_DIRS} )
108- ENDIF (SWRESAMPLE_FOUND)
109- IF (AVRESAMPLE_FOUND)
110- include_directories (${AVRESAMPLE_INCLUDE_DIRS} )
111- ENDIF (AVRESAMPLE_FOUND)
85+ foreach (ffmpeg_comp AVCODEC AVDEVICE AVFORMAT AVFILTER AVUTIL POSTPROC SWSCALE SWRESAMPLE AVRESAMPLE)
86+ if (${ffmpeg_comp} _FOUND)
87+ # message(STATUS "Adding include dir for ${ffmpeg_comp}")
88+ include_directories (${${ffmpeg_comp} _INCLUDE_DIRS})
89+ add_definitions (${${ffmpeg_comp} _DEFINITIONS})
90+ list (APPEND FF_LIBRARIES ${${ffmpeg_comp} _LIBRARIES})
91+ endif ()
92+ endforeach ()
11293
11394################# LIBOPENSHOT-AUDIO ###################
11495# Find JUCE-based openshot Audio libraries
@@ -119,38 +100,17 @@ include_directories(${LIBOPENSHOT_AUDIO_INCLUDE_DIRS})
119100
120101################# QT5 ###################
121102# Find QT5 libraries
122- find_package (Qt5Widgets REQUIRED)
123- find_package (Qt5Core REQUIRED)
124- find_package (Qt5Gui REQUIRED)
125- find_package (Qt5Multimedia REQUIRED)
126- find_package (Qt5MultimediaWidgets REQUIRED)
127-
128- # Include Qt headers (needed for compile)
129- include_directories (${Qt5Widgets_INCLUDE_DIRS} )
130- include_directories (${Qt5Core_INCLUDE_DIRS} )
131- include_directories (${Qt5Gui_INCLUDE_DIRS} )
132- include_directories (${Qt5Multimedia_INCLUDE_DIRS} )
133- include_directories (${Qt5MultimediaWidgets_INCLUDE_DIRS} )
134-
135- add_definitions (${Qt5Widgets_DEFINITIONS} )
136- add_definitions (${Qt5Core_DEFINITIONS} )
137- add_definitions (${Qt5Gui_DEFINITIONS} )
138- add_definitions (${Qt5Multimedia_DEFINITIONS} )
139- add_definitions (${Qt5MultimediaWidgets_DEFINITIONS} )
140-
141- SET (QT_LIBRARIES ${Qt5Widgets_LIBRARIES}
142- ${Qt5Core_LIBRARIES}
143- ${Qt5Gui_LIBRARIES}
144- ${Qt5Multimedia_LIBRARIES}
145- ${Qt5MultimediaWidgets_LIBRARIES} )
146-
147- # Set compiler flags for Qt
148- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS} " )
149- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS} " )
150- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Gui_EXECUTABLE_COMPILE_FLAGS} " )
151- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Multimedia_EXECUTABLE_COMPILE_FLAGS} " )
152- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5MultimediaWidgets_EXECUTABLE_COMPILE_FLAGS} " )
153- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -ggdb " )
103+ foreach (qt_lib Qt5Widgets Qt5Core Qt5Gui Qt5Multimedia Qt5MultimediaWidgets)
104+ find_package (${qt_lib} REQUIRED)
105+ # Header files
106+ include_directories (${${qt_lib} _INCLUDE_DIRS})
107+ # Compiler definitions
108+ add_definitions (${${qt_lib} _DEFINITIONS})
109+ # Other CFLAGS
110+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${${qt_lib} _EXECUTABLE_COMPILE_FLAGS}" )
111+ # For use when linking
112+ list (APPEND QT_LIBRARIES ${${qt_lib} _LIBRARIES})
113+ endforeach ()
154114
155115# Manually moc Qt files
156116qt5_wrap_cpp(MOC_FILES ${QT_HEADER_FILES} )
@@ -309,59 +269,32 @@ set_target_properties(openshot
309269############### LINK LIBRARY #################
310270SET ( REQUIRED_LIBRARIES
311271 ${LIBOPENSHOT_AUDIO_LIBRARIES}
272+ ${FF_LIBRARIES}
312273 ${QT_LIBRARIES}
313274 ${PROFILER}
314275 ${JSONCPP_LIBRARY}
315276 ${ZMQ_LIBRARIES}
316277 )
317278
318- IF (AVCODEC_FOUND)
319- SET ( REQUIRED_LIBRARIES ${REQUIRED_LIBRARIES} ${AVCODEC_LIBRARIES} )
320- ENDIF (AVCODEC_FOUND)
321- IF (AVDEVICE_FOUND)
322- SET ( REQUIRED_LIBRARIES ${REQUIRED_LIBRARIES} ${AVDEVICE_LIBRARIES} )
323- ENDIF (AVDEVICE_FOUND)
324- IF (AVFORMAT_FOUND)
325- SET ( REQUIRED_LIBRARIES ${REQUIRED_LIBRARIES} ${AVFORMAT_LIBRARIES} )
326- ENDIF (AVFORMAT_FOUND)
327- IF (AVFILTER_FOUND)
328- SET ( REQUIRED_LIBRARIES ${REQUIRED_LIBRARIES} ${AVFILTER_LIBRARIES} )
329- ENDIF (AVFILTER_FOUND)
330- IF (AVUTIL_FOUND)
331- SET ( REQUIRED_LIBRARIES ${REQUIRED_LIBRARIES} ${AVUTIL_LIBRARIES} )
332- ENDIF (AVUTIL_FOUND)
333- IF (POSTPROC_FOUND)
334- SET ( REQUIRED_LIBRARIES ${REQUIRED_LIBRARIES} ${POSTPROC_LIBRARIES} )
335- ENDIF (POSTPROC_FOUND)
336- IF (SWSCALE_FOUND)
337- SET ( REQUIRED_LIBRARIES ${REQUIRED_LIBRARIES} ${SWSCALE_LIBRARIES} )
338- ENDIF (SWSCALE_FOUND)
339- IF (SWRESAMPLE_FOUND)
340- SET ( REQUIRED_LIBRARIES ${REQUIRED_LIBRARIES} ${SWRESAMPLE_LIBRARIES} )
341- ENDIF (SWRESAMPLE_FOUND)
342- IF (AVRESAMPLE_FOUND)
343- SET ( REQUIRED_LIBRARIES ${REQUIRED_LIBRARIES} ${AVRESAMPLE_LIBRARIES} )
344- ENDIF (AVRESAMPLE_FOUND)
345-
346279IF (RESVG_FOUND)
347- SET ( REQUIRED_LIBRARIES ${REQUIRED_LIBRARIES} ${ RESVG_LIBRARIES} )
280+ list ( APPEND REQUIRED_LIBRARIES ${RESVG_LIBRARIES} )
348281ENDIF (RESVG_FOUND)
349282
350283IF (OPENMP_FOUND)
351- SET ( REQUIRED_LIBRARIES ${REQUIRED_LIBRARIES} ${ OpenMP_CXX_FLAGS} )
284+ list ( APPEND REQUIRED_LIBRARIES ${OpenMP_CXX_FLAGS} )
352285ENDIF (OPENMP_FOUND)
353286
354287IF (ImageMagick_FOUND)
355- SET ( REQUIRED_LIBRARIES ${REQUIRED_LIBRARIES} ${ ImageMagick_LIBRARIES} )
288+ list ( APPEND REQUIRED_LIBRARIES ${ImageMagick_LIBRARIES} )
356289ENDIF (ImageMagick_FOUND)
357290
358291IF (BLACKMAGIC_FOUND)
359- SET ( REQUIRED_LIBRARIES ${REQUIRED_LIBRARIES} ${ BLACKMAGIC_LIBRARY_DIR} )
292+ list ( APPEND REQUIRED_LIBRARIES ${BLACKMAGIC_LIBRARY_DIR} )
360293ENDIF (BLACKMAGIC_FOUND)
361294
362295IF (WIN32 )
363296 # Required for exception handling on Windows
364- SET ( REQUIRED_LIBRARIES ${REQUIRED_LIBRARIES} "imagehlp" "dbghelp" )
297+ list ( APPEND REQUIRED_LIBRARIES "imagehlp" "dbghelp" )
365298ENDIF (WIN32 )
366299
367300# Link all referenced libraries
@@ -400,7 +333,7 @@ add_subdirectory(bindings)
400333set (LIB_INSTALL_DIR lib${LIB_SUFFIX} ) # determine correct lib folder
401334
402335# Install primary library
403- INSTALL ( TARGETS openshot
336+ INSTALL (TARGETS openshot
404337 ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
405338 LIBRARY DESTINATION ${LIB_INSTALL_DIR}
406339 RUNTIME DESTINATION ${LIB_INSTALL_DIR}
0 commit comments