Add a separate Qt 6 module. Needed during the KDE porting effort. OBS-URL: https://build.opensuse.org/request/show/993367 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libmlt?expand=0&rev=142
502 lines
16 KiB
Diff
502 lines
16 KiB
Diff
From 89dd75355c5506ae27fa12e8ee9ed10f246e069d Mon Sep 17 00:00:00 2001
|
|
From: jlskuz <78424983+jlskuz@users.noreply.github.com>
|
|
Date: Sat, 30 Jul 2022 22:15:55 +0200
|
|
Subject: [PATCH 1/5] Split to allow installing Qt5 and Qt6 in parallel (#807)
|
|
|
|
---
|
|
CMakeLists.txt | 64 +++++----
|
|
src/modules/CMakeLists.txt | 4 +-
|
|
src/modules/glaxnimate/CMakeLists.txt | 105 +++++++++------
|
|
src/modules/qt/CMakeLists.txt | 180 +++++++++++++++-----------
|
|
4 files changed, 210 insertions(+), 143 deletions(-)
|
|
|
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
index 4f838b0..ea2c782 100644
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -11,13 +11,14 @@ option(GPL "Enable GPLv2 components" ON)
|
|
option(GPL3 "Enable GPLv3 components" ON)
|
|
option(BUILD_TESTING "Enable tests" OFF)
|
|
option(BUILD_DOCS "Enable Doxygen documentation" OFF)
|
|
-option(BUILD_WITH_QT6 "Build against Qt 6" OFF)
|
|
+option(BUILD_TESTS_WITH_QT6 "Build test against Qt 6" OFF)
|
|
|
|
option(MOD_AVFORMAT "Enable avformat module" ON)
|
|
option(MOD_DECKLINK "Enable DeckLink module" ON)
|
|
option(MOD_FREI0R "Enable Frei0r module" ON)
|
|
option(MOD_GDK "Enable GDK module" ON)
|
|
-option(MOD_GLAXNIMATE "Enable Glaxnimate module" OFF)
|
|
+option(MOD_GLAXNIMATE "Enable Glaxnimate module (Qt5)" OFF)
|
|
+#option(MOD_GLAXNIMATE_QT6 "Enable Glaxnimate module (Qt6)" OFF)
|
|
option(MOD_JACKRACK "Enable JACK Rack module" ON)
|
|
option(MOD_KDENLIVE "Enable Kdenlive module" ON)
|
|
option(MOD_NDI "Enable NDI module" OFF)
|
|
@@ -27,7 +28,8 @@ option(MOD_OPENCV "Enable OpenCV module" OFF)
|
|
option(MOD_MOVIT "Enable OpenGL module" ON)
|
|
option(MOD_PLUS "Enable Plus module" ON)
|
|
option(MOD_PLUSGPL "Enable PlusGPL module (GPL)" ON)
|
|
-option(MOD_QT "Enable Qt module (GPL)" ON)
|
|
+option(MOD_QT "Enable Qt5 module (GPL)" ON)
|
|
+option(MOD_QT6 "Enable Qt6 module (GPL)" OFF)
|
|
option(MOD_RESAMPLE "Enable Resample module (GPL)" ON)
|
|
option(MOD_RTAUDIO "Enable RtAudio module" ON)
|
|
option(MOD_RUBBERBAND "Enable Rubberband module (GPL)" ON)
|
|
@@ -151,6 +153,7 @@ if(NOT GPL)
|
|
set(MOD_NORMALIZE OFF)
|
|
set(MOD_PLUSGPL OFF)
|
|
set(MOD_QT OFF)
|
|
+ set(MOD_QT6 OFF)
|
|
set(MOD_RESAMPLE OFF)
|
|
set(MOD_RUBBERBAND OFF)
|
|
set(MOD_VIDSTAB OFF)
|
|
@@ -170,7 +173,7 @@ endif()
|
|
|
|
pkg_check_modules(sdl2 IMPORTED_TARGET sdl2)
|
|
|
|
-if (BUILD_WITH_QT6)
|
|
+if (BUILD_TESTS_WITH_QT6)
|
|
set(QT_MAJOR_VERSION 6)
|
|
else()
|
|
set(QT_MAJOR_VERSION 5)
|
|
@@ -182,14 +185,14 @@ if(BUILD_TESTING)
|
|
enable_testing()
|
|
endif()
|
|
|
|
-if(MOD_QT OR MOD_PLUS)
|
|
+if(MOD_QT OR MOD_QT6 OR MOD_PLUS)
|
|
pkg_check_modules(FFTW IMPORTED_TARGET fftw3)
|
|
if(NOT FFTW_FOUND)
|
|
pkg_check_modules(FFTW IMPORTED_TARGET fftw)
|
|
endif()
|
|
endif()
|
|
|
|
-if(MOD_QT OR MOD_GDK)
|
|
+if(MOD_QT OR MOD_QT6 OR MOD_GDK)
|
|
pkg_check_modules(libexif IMPORTED_TARGET libexif)
|
|
endif()
|
|
|
|
@@ -240,15 +243,6 @@ if(MOD_GDK)
|
|
endif()
|
|
endif()
|
|
|
|
-if(MOD_GLAXNIMATE)
|
|
- find_package(Qt${QT_MAJOR_VERSION} COMPONENTS Core Gui Widgets Xml)
|
|
- if(Qt${QT_MAJOR_VERSION}_FOUND)
|
|
- list(APPEND MLT_SUPPORTED_COMPONENTS qt)
|
|
- else()
|
|
- set(MOD_GLAXNIMATE OFF)
|
|
- endif()
|
|
-endif()
|
|
-
|
|
if(MOD_JACKRACK)
|
|
find_package(JACK)
|
|
pkg_check_modules(glib IMPORTED_TARGET glib-2.0)
|
|
@@ -304,20 +298,42 @@ if(MOD_PLUSGPL)
|
|
list(APPEND MLT_SUPPORTED_COMPONENTS plusgpl)
|
|
endif()
|
|
|
|
-if(MOD_QT)
|
|
- find_package(Qt${QT_MAJOR_VERSION} COMPONENTS Core Xml)
|
|
- if(QT_MAJOR_VERSION EQUAL 6)
|
|
- find_package(Qt${QT_MAJOR_VERSION} COMPONENTS SvgWidgets Core5Compat)
|
|
+if(MOD_QT6)
|
|
+ find_package(Qt6 COMPONENTS Core Gui Xml SvgWidgets Core5Compat)
|
|
+ if(Qt6_FOUND)
|
|
+ list(APPEND MLT_SUPPORTED_COMPONENTS qt6)
|
|
else()
|
|
- find_package(Qt${QT_MAJOR_VERSION} COMPONENTS Gui Svg Widgets)
|
|
+ set(MOD_QT6 OFF)
|
|
endif()
|
|
- if(Qt${QT_MAJOR_VERSION}_FOUND)
|
|
+endif()
|
|
+
|
|
+#if(MOD_GLAXNIMATE_QT6)
|
|
+# find_package(Qt6 COMPONENTS Core Gui Widgets Xml)
|
|
+# if(Qt6_FOUND)
|
|
+# list(APPEND MLT_SUPPORTED_COMPONENTS glaxnimate-qt6)
|
|
+# else()
|
|
+# set(MOD_GLAXNIMATE_QT6 OFF)
|
|
+# endif()
|
|
+#endif()
|
|
+
|
|
+if(MOD_QT)
|
|
+ find_package(Qt5 COMPONENTS Core Xml Gui Svg Widgets)
|
|
+ if(Qt5_FOUND)
|
|
list(APPEND MLT_SUPPORTED_COMPONENTS qt)
|
|
else()
|
|
set(MOD_QT OFF)
|
|
endif()
|
|
endif()
|
|
|
|
+if(MOD_GLAXNIMATE)
|
|
+ find_package(Qt5 COMPONENTS Core Gui Widgets Xml)
|
|
+ if(Qt5_FOUND)
|
|
+ list(APPEND MLT_SUPPORTED_COMPONENTS glaxnimate)
|
|
+ else()
|
|
+ set(MOD_GLAXNIMATE OFF)
|
|
+ endif()
|
|
+endif()
|
|
+
|
|
if(MOD_RESAMPLE)
|
|
pkg_check_modules(samplerate IMPORTED_TARGET samplerate)
|
|
if(TARGET PkgConfig::samplerate)
|
|
@@ -511,7 +527,8 @@ add_feature_info("Module: avformat" MOD_AVFORMAT "")
|
|
add_feature_info("Module: DeckLink" MOD_DECKLINK "")
|
|
add_feature_info("Module: Frei0r" MOD_FREI0R "")
|
|
add_feature_info("Module: GDK" MOD_GDK "")
|
|
-add_feature_info("Module: Glaxnimate" MOD_GLAXNIMATE "")
|
|
+add_feature_info("Module: Glaxnimate (Qt5)" MOD_GLAXNIMATE "")
|
|
+#add_feature_info("Module: Glaxnimate (Qt6)" MOD_GLAXNIMATE_QT6 "")
|
|
add_feature_info("Module: JACKRack" MOD_JACKRACK "")
|
|
add_feature_info("Module: Kdenlive" MOD_KDENLIVE "")
|
|
add_feature_info("Module: NDI" MOD_NDI "")
|
|
@@ -521,7 +538,8 @@ add_feature_info("Module: OpenCV" MOD_OPENCV "")
|
|
add_feature_info("Module: Movit" MOD_MOVIT "")
|
|
add_feature_info("Module: Plus" MOD_PLUS "")
|
|
add_feature_info("Module: PlusGPL" MOD_PLUSGPL "")
|
|
-add_feature_info("Module: Qt" MOD_QT "")
|
|
+add_feature_info("Module: Qt (Qt5)" MOD_QT "")
|
|
+add_feature_info("Module: Qt6" MOD_QT6 "")
|
|
add_feature_info("Module: Resample" MOD_RESAMPLE "")
|
|
add_feature_info("Module: RtAudio" MOD_RTAUDIO "")
|
|
add_feature_info("Module: Rubberband" MOD_RUBBERBAND "")
|
|
diff --git a/src/modules/CMakeLists.txt b/src/modules/CMakeLists.txt
|
|
index 1effa74..0c8dcdb 100644
|
|
--- a/src/modules/CMakeLists.txt
|
|
+++ b/src/modules/CMakeLists.txt
|
|
@@ -16,7 +16,7 @@ if(MOD_GDK)
|
|
add_subdirectory(gdk)
|
|
endif()
|
|
|
|
-if(MOD_GLAXNIMATE)
|
|
+if(MOD_GLAXNIMATE OR MOD_GLAXNIMATE_QT6)
|
|
add_subdirectory(glaxnimate)
|
|
endif()
|
|
|
|
@@ -56,7 +56,7 @@ if(MOD_PLUSGPL)
|
|
add_subdirectory(plusgpl)
|
|
endif()
|
|
|
|
-if(MOD_QT)
|
|
+if(MOD_QT OR MOD_QT6)
|
|
add_subdirectory(qt)
|
|
endif()
|
|
|
|
diff --git a/src/modules/glaxnimate/CMakeLists.txt b/src/modules/glaxnimate/CMakeLists.txt
|
|
index f00b4d0..eecf2fa 100644
|
|
--- a/src/modules/glaxnimate/CMakeLists.txt
|
|
+++ b/src/modules/glaxnimate/CMakeLists.txt
|
|
@@ -118,50 +118,75 @@ set(GLAX_SOURCES
|
|
${CORE_DIR}utils/tar.cpp
|
|
)
|
|
|
|
-configure_file(
|
|
- "${CMAKE_CURRENT_SOURCE_DIR}/${CORE_DIR}application_info_generated.in.hpp"
|
|
- "${CMAKE_CURRENT_SOURCE_DIR}/${CORE_DIR}application_info_generated.hpp"
|
|
-)
|
|
+function(mlt_add_glaxnimate_module ARG_TARGET)
|
|
+ cmake_parse_arguments(PARSE_ARGV 1 ARG "" "QT_VERSION;DATADIR" "")
|
|
|
|
-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/${APP_DIR})
|
|
-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/${CORE_DIR})
|
|
-include_directories(${LibArchive_INCLUDE_DIRS})
|
|
|
|
-add_library(mltglaxnimate MODULE
|
|
- producer_glaxnimate.cpp
|
|
- ${GLAX_SOURCES}
|
|
-)
|
|
+ if ("${ARG_TARGET}" STREQUAL "")
|
|
+ message(FATAL_ERROR "mlt_add_glaxnimate_module called without a valid target name.")
|
|
+ endif()
|
|
|
|
-target_compile_options(mltglaxnimate PRIVATE ${MLT_COMPILE_OPTIONS})
|
|
-add_definitions(-DWITHOUT_POTRACE -DWITHOUT_QT_COLOR_WIDGETS)
|
|
-
|
|
-find_package(LibArchive REQUIRED)
|
|
-find_package(ZLIB REQUIRED)
|
|
-
|
|
-set_property(TARGET mltglaxnimate APPEND PROPERTY AUTOMOC_MACRO_NAMES "GLAXNIMATE_OBJECT")
|
|
-
|
|
-target_link_libraries(mltglaxnimate PRIVATE
|
|
- mlt++
|
|
- mlt
|
|
- m
|
|
- Threads::Threads
|
|
- Qt${QT_MAJOR_VERSION}::Core
|
|
- Qt${QT_MAJOR_VERSION}::Gui
|
|
- Qt${QT_MAJOR_VERSION}::Widgets
|
|
- Qt${QT_MAJOR_VERSION}::Xml
|
|
- ${LibArchive_LIBRARIES}
|
|
- ZLIB::ZLIB
|
|
-)
|
|
+ if (NOT (("${ARG_QT_VERSION}" STREQUAL "5") OR ("${ARG_QT_VERSION}" STREQUAL "6")))
|
|
+ message(FATAL_ERROR "mlt_add_glaxnimate_module called without a valid Qt Version (allowed are 5 or 6).")
|
|
+ endif()
|
|
|
|
-if(NOT WINDOWS_DEPLOY)
|
|
- target_compile_definitions(mltglaxnimate PRIVATE NODEPLOY)
|
|
-endif()
|
|
+ if ("${ARG_DATADIR}" STREQUAL "")
|
|
+ message(FATAL_ERROR "mlt_add_glaxnimate_module called without a valid data dir name.")
|
|
+ endif()
|
|
|
|
-set_target_properties(mltglaxnimate PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${MLT_MODULE_OUTPUT_DIRECTORY}")
|
|
+ configure_file(
|
|
+ "${CMAKE_CURRENT_SOURCE_DIR}/${CORE_DIR}application_info_generated.in.hpp"
|
|
+ "${CMAKE_CURRENT_SOURCE_DIR}/${CORE_DIR}application_info_generated.hpp"
|
|
+ )
|
|
|
|
-install(TARGETS mltglaxnimate LIBRARY DESTINATION ${MLT_INSTALL_MODULE_DIR})
|
|
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/${APP_DIR})
|
|
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/${CORE_DIR})
|
|
+ include_directories(${LibArchive_INCLUDE_DIRS})
|
|
|
|
-install(FILES
|
|
- producer_glaxnimate.yml
|
|
- DESTINATION ${MLT_INSTALL_DATA_DIR}/glaxnimate
|
|
-)
|
|
+ add_library(${ARG_TARGET} MODULE
|
|
+ producer_glaxnimate.cpp
|
|
+ ${GLAX_SOURCES}
|
|
+ )
|
|
+
|
|
+ target_compile_options(${ARG_TARGET} PRIVATE ${MLT_COMPILE_OPTIONS})
|
|
+ add_definitions(-DWITHOUT_POTRACE -DWITHOUT_QT_COLOR_WIDGETS)
|
|
+
|
|
+ find_package(LibArchive REQUIRED)
|
|
+ find_package(ZLIB REQUIRED)
|
|
+
|
|
+ set_property(TARGET ${ARG_TARGET} APPEND PROPERTY AUTOMOC_MACRO_NAMES "GLAXNIMATE_OBJECT")
|
|
+
|
|
+ target_link_libraries(${ARG_TARGET} PRIVATE
|
|
+ mlt++
|
|
+ mlt
|
|
+ m
|
|
+ Threads::Threads
|
|
+ Qt${ARG_QT_VERSION}::Core
|
|
+ Qt${ARG_QT_VERSION}::Gui
|
|
+ Qt${ARG_QT_VERSION}::Widgets
|
|
+ Qt${ARG_QT_VERSION}::Xml
|
|
+ ${LibArchive_LIBRARIES}
|
|
+ ZLIB::ZLIB
|
|
+ )
|
|
+
|
|
+ if(NOT WINDOWS_DEPLOY)
|
|
+ target_compile_definitions(${ARG_TARGET} PRIVATE NODEPLOY)
|
|
+ endif()
|
|
+
|
|
+ set_target_properties(${ARG_TARGET} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${MLT_MODULE_OUTPUT_DIRECTORY}")
|
|
+
|
|
+ install(TARGETS ${ARG_TARGET} LIBRARY DESTINATION ${MLT_INSTALL_MODULE_DIR})
|
|
+
|
|
+ install(FILES
|
|
+ producer_glaxnimate.yml
|
|
+ DESTINATION ${MLT_INSTALL_DATA_DIR}/${ARG_DATADIR}
|
|
+ )
|
|
+endfunction()
|
|
+
|
|
+if(MOD_GLAXNIMATE)
|
|
+ mlt_add_glaxnimate_module(mltglaxnimate QT_VERSION 5 DATADIR glaxnimate)
|
|
+endif()
|
|
+
|
|
+#if(MOD_GLAXNIMATE_QT6)
|
|
+ #mlt_add_glaxnimate_module(mltglaxnimate-qt6 QT_VERSION 6 DATADIR glaxnimate-qt6)
|
|
+#endif()
|
|
diff --git a/src/modules/qt/CMakeLists.txt b/src/modules/qt/CMakeLists.txt
|
|
index 35802b1..604efc5 100644
|
|
--- a/src/modules/qt/CMakeLists.txt
|
|
+++ b/src/modules/qt/CMakeLists.txt
|
|
@@ -1,87 +1,111 @@
|
|
set(CMAKE_AUTOMOC ON)
|
|
|
|
-add_library(mltqt MODULE
|
|
- factory.c
|
|
- producer_qimage.c
|
|
- producer_kdenlivetitle.c
|
|
- common.cpp graph.cpp
|
|
- qimage_wrapper.cpp
|
|
- kdenlivetitle_wrapper.cpp
|
|
- filter_audiolevelgraph.cpp
|
|
- filter_audiowaveform.cpp
|
|
- filter_qtext.cpp
|
|
- filter_qtblend.cpp
|
|
- filter_qtcrop.cpp
|
|
- producer_qtext.cpp
|
|
- transition_qtblend.cpp
|
|
- consumer_qglsl.cpp
|
|
- filter_typewriter.cpp
|
|
- typewriter.cpp
|
|
-)
|
|
-
|
|
-target_compile_options(mltqt PRIVATE ${MLT_COMPILE_OPTIONS})
|
|
-
|
|
-target_link_libraries(mltqt PRIVATE
|
|
- mlt++
|
|
- mlt
|
|
- m
|
|
- Threads::Threads
|
|
- Qt${QT_MAJOR_VERSION}::Core
|
|
- Qt${QT_MAJOR_VERSION}::Xml
|
|
-)
|
|
-
|
|
-if(QT_MAJOR_VERSION EQUAL 6)
|
|
- target_link_libraries(mltqt PRIVATE
|
|
- Qt${QT_MAJOR_VERSION}::SvgWidgets
|
|
- Qt${QT_MAJOR_VERSION}::Core5Compat
|
|
- )
|
|
-else()
|
|
- target_link_libraries(mltqt PRIVATE
|
|
- Qt${QT_MAJOR_VERSION}::Svg
|
|
- Qt${QT_MAJOR_VERSION}::Widgets
|
|
- Qt${QT_MAJOR_VERSION}::Gui
|
|
- )
|
|
-endif()
|
|
+function(mlt_add_qt_module ARG_TARGET)
|
|
+ cmake_parse_arguments(PARSE_ARGV 1 ARG "" "QT_VERSION;DATADIR" "")
|
|
|
|
-target_compile_definitions(mltqt PRIVATE USE_QT_OPENGL)
|
|
+ if ("${ARG_TARGET}" STREQUAL "")
|
|
+ message(FATAL_ERROR "mlt_add_qt_module called without a valid target name.")
|
|
+ endif()
|
|
|
|
-if(NOT WINDOWS_DEPLOY)
|
|
- target_compile_definitions(mltqt PRIVATE NODEPLOY)
|
|
-endif()
|
|
+ if (NOT (("${ARG_QT_VERSION}" STREQUAL "5") OR ("${ARG_QT_VERSION}" STREQUAL "6")))
|
|
+ message(FATAL_ERROR "mlt_add_qt_module called without a valid Qt Version (allowed are 5 or 6).")
|
|
+ endif()
|
|
|
|
-if(GPL3)
|
|
- target_sources(mltqt PRIVATE transition_vqm.cpp)
|
|
- target_compile_definitions(mltqt PRIVATE GPL3)
|
|
- install(FILES transition_vqm.yml DESTINATION ${MLT_INSTALL_DATA_DIR}/qt)
|
|
-endif()
|
|
+ if ("${ARG_DATADIR}" STREQUAL "")
|
|
+ message(FATAL_ERROR "mlt_add_qt_module called without a valid data dir name.")
|
|
+ endif()
|
|
|
|
-if(TARGET PkgConfig::FFTW)
|
|
- target_sources(mltqt PRIVATE filter_audiospectrum.cpp filter_lightshow.cpp)
|
|
- target_link_libraries(mltqt PRIVATE PkgConfig::FFTW)
|
|
- target_compile_definitions(mltqt PRIVATE USE_FFTW)
|
|
- install(FILES filter_audiospectrum.yml filter_lightshow.yml DESTINATION ${MLT_INSTALL_DATA_DIR}/qt)
|
|
-endif()
|
|
+ add_library(${ARG_TARGET} MODULE
|
|
+ factory.c
|
|
+ producer_qimage.c
|
|
+ producer_kdenlivetitle.c
|
|
+ common.cpp graph.cpp
|
|
+ qimage_wrapper.cpp
|
|
+ kdenlivetitle_wrapper.cpp
|
|
+ filter_audiolevelgraph.cpp
|
|
+ filter_audiowaveform.cpp
|
|
+ filter_qtext.cpp
|
|
+ filter_qtblend.cpp
|
|
+ filter_qtcrop.cpp
|
|
+ producer_qtext.cpp
|
|
+ transition_qtblend.cpp
|
|
+ consumer_qglsl.cpp
|
|
+ filter_typewriter.cpp
|
|
+ typewriter.cpp
|
|
+ )
|
|
+
|
|
+ target_compile_options(${ARG_TARGET} PRIVATE ${MLT_COMPILE_OPTIONS})
|
|
+
|
|
+ target_link_libraries(${ARG_TARGET} PRIVATE
|
|
+ mlt++
|
|
+ mlt
|
|
+ m
|
|
+ Threads::Threads
|
|
+ Qt${ARG_QT_VERSION}::Core
|
|
+ Qt${ARG_QT_VERSION}::Gui
|
|
+ Qt${ARG_QT_VERSION}::Xml
|
|
+ )
|
|
+
|
|
+ if(ARG_QT_VERSION EQUAL 6)
|
|
+ target_link_libraries(${ARG_TARGET} PRIVATE
|
|
+ Qt6::SvgWidgets
|
|
+ Qt6::Core5Compat
|
|
+ )
|
|
+ else()
|
|
+ target_link_libraries(${ARG_TARGET} PRIVATE
|
|
+ Qt${ARG_QT_VERSION}::Svg
|
|
+ Qt${ARG_QT_VERSION}::Widgets
|
|
+ )
|
|
+ endif()
|
|
+
|
|
+ target_compile_definitions(${ARG_TARGET} PRIVATE USE_QT_OPENGL)
|
|
|
|
-if(TARGET PkgConfig::libexif)
|
|
- target_link_libraries(mltqt PRIVATE PkgConfig::libexif)
|
|
- target_compile_definitions(mltqt PRIVATE USE_EXIF)
|
|
+ if(NOT WINDOWS_DEPLOY)
|
|
+ target_compile_definitions(${ARG_TARGET} PRIVATE NODEPLOY)
|
|
+ endif()
|
|
+
|
|
+ if(GPL3)
|
|
+ target_sources(${ARG_TARGET} PRIVATE transition_vqm.cpp)
|
|
+ target_compile_definitions(${ARG_TARGET} PRIVATE GPL3)
|
|
+ install(FILES transition_vqm.yml DESTINATION ${MLT_INSTALL_DATA_DIR}/${ARG_DATADIR})
|
|
+ endif()
|
|
+
|
|
+ if(TARGET PkgConfig::FFTW)
|
|
+ target_sources(${ARG_TARGET} PRIVATE filter_audiospectrum.cpp filter_lightshow.cpp)
|
|
+ target_link_libraries(${ARG_TARGET} PRIVATE PkgConfig::FFTW)
|
|
+ target_compile_definitions(${ARG_TARGET} PRIVATE USE_FFTW)
|
|
+ install(FILES filter_audiospectrum.yml filter_lightshow.yml DESTINATION ${MLT_INSTALL_DATA_DIR}/${ARG_DATADIR})
|
|
+ endif()
|
|
+
|
|
+ if(TARGET PkgConfig::libexif)
|
|
+ target_link_libraries(${ARG_TARGET} PRIVATE PkgConfig::libexif)
|
|
+ target_compile_definitions(${ARG_TARGET} PRIVATE USE_EXIF)
|
|
+ endif()
|
|
+
|
|
+ set_target_properties(${ARG_TARGET} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${MLT_MODULE_OUTPUT_DIRECTORY}")
|
|
+
|
|
+ install(TARGETS ${ARG_TARGET} LIBRARY DESTINATION ${MLT_INSTALL_MODULE_DIR})
|
|
+
|
|
+ install(FILES
|
|
+ filter_audiolevelgraph.yml
|
|
+ filter_audiospectrum.yml
|
|
+ filter_audiowaveform.yml
|
|
+ filter_qtblend.yml
|
|
+ filter_qtcrop.yml
|
|
+ filter_qtext.yml
|
|
+ filter_typewriter.yml
|
|
+ producer_kdenlivetitle.yml
|
|
+ producer_qimage.yml
|
|
+ producer_qtext.yml
|
|
+ transition_qtblend.yml
|
|
+ DESTINATION ${MLT_INSTALL_DATA_DIR}/${ARG_DATADIR}
|
|
+ )
|
|
+endfunction()
|
|
+
|
|
+if (MOD_QT)
|
|
+ mlt_add_qt_module(mltqt QT_VERSION 5 DATADIR qt)
|
|
endif()
|
|
|
|
-set_target_properties(mltqt PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${MLT_MODULE_OUTPUT_DIRECTORY}")
|
|
-
|
|
-install(TARGETS mltqt LIBRARY DESTINATION ${MLT_INSTALL_MODULE_DIR})
|
|
-
|
|
-install(FILES
|
|
- filter_audiolevelgraph.yml
|
|
- filter_audiospectrum.yml
|
|
- filter_audiowaveform.yml
|
|
- filter_qtblend.yml
|
|
- filter_qtcrop.yml
|
|
- filter_qtext.yml
|
|
- filter_typewriter.yml
|
|
- producer_kdenlivetitle.yml
|
|
- producer_qimage.yml
|
|
- producer_qtext.yml
|
|
- transition_qtblend.yml
|
|
- DESTINATION ${MLT_INSTALL_DATA_DIR}/qt
|
|
-)
|
|
+if (MOD_QT6)
|
|
+ mlt_add_qt_module(mltqt6 QT_VERSION 6 DATADIR qt6)
|
|
+endif()
|
|
--
|
|
2.37.1
|
|
|