mirror of
https://github.com/LMMS/lmms.git
synced 2025-12-23 22:58:33 -05:00
* Rebase against master Co-authored-by: michaelgregorius <michael.gregorius.git@arcor.de> Co-authored-by: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com> * Fix Qt6 DMG on Apple (#7240) - Fix linking issues with Qt Framework files - Fix qmake detection * Fixes after rebase * Fix embed.cpp compilation Fix implicit conversion from int when using QString.arg(...) * Fix Qt6 signature change for nativeEventFilter (#7254) * Adds win32EventFilter a wrapper for nativeEventFilter on Windows * win32EventFilter is currently used to intercept top-level Window events (currently, to avoid VSTs setting transparency of the parent application) * fix broken signal slot connections (#7274) QComboBox activated() replaced with textActivated() since Qt 5.14 * Enabled VSTs on Qt 6 (#7273) * enabled VST support for Qt 6 builds * Note : Embedding on QT6 will be buggy on linux as a result of using qt embedding, which unfortunately is a qt bug which hasn't been resolved. * Changed bar lines to follow snap size (#7034) * Added lines in between bars * Changed bar lines to follow snap size * Changed default zoom and quantization value * Added constants for line widths * Added QSS configuration for new grid line colors * Tied line widths to QSS properties * Changed default quantization to 1/4 * Removed clear() from destructor model * Removed destructor in ComboBoxModel.h * Changed member set/get functions to pass by value * Updated signal connection with newer syntax * Fix compilation * Fix MSVC builds * fix nullptr deref in AudioFileProcessor (qt6 branch) (#7532) * ensured mouse event != nullptr before deref * separation of concerns: AFP WaveView updateCursor extract check to pointerCloseToStartEndOrLoop() * marked some function parameters as const * Remove Core5Compat usage * Fix bad merge * Fixes after rebase * Simplify QTX_WRAP_CPP call * Remove comments that are obvious to a developer * Whitespace * Try using Qt 6 for MSVC CI I chose Qt 6.5 because it's the last Qt LTS release with declared support for Visual Studio 2019. Once we upgrade to Visual Studio 2022, we could upgrade Qt as well. * Fix MSVC build Also fixes two memory leaks in MidiWinMM * Fix GuiApplication on MSVC * Fix interpolateInRgb * Try building with patched Calf * Fix submodule * Fix OpulenZ build * Try to fix zyn * Fix comment * Ty to fix zyn (again) * Ty to fix RemotePluginBase * Revert "Ty to fix RemotePluginBase" This reverts commit 92dac44ffb11e19d1d5a21d9155369f017bd59e9. * Update plugins/ZynAddSubFx/CMakeLists.txt Co-authored-by: Dalton Messmer <messmer.dalton@gmail.com> * Fix vertical & horizontal scroll wheel in SongEditor * AppImage: Fix finding of Qt6 libs * Fix implicit QString --> QFileInfo conversion * Point submodule to lmms * Fix multiple deprecation warnings * Fix for Clang compiler * Build with latest Qt LTS version now that we use MSVC 2022 * Update jurplel/install-qt-action to v4.3.0 * Bump minimum Qt6 version for MSVC * Fix incorrect Qt version checks Some comparisons were using ">" rather than ">=" * `QSize()` != `QSize(0, 0)` * Fix more deprecation warnings * Fix style * Simplify Spectrum Analyzer mouse events The Qt bug that used to be present appears to have been fixed, so the workaround can be removed * Minor changes * Fix deprecated QCheckBox signal * Fix setContent helper functions * Remove QMultiMap usage from ControlLayout * Remove SIGNAL and SLOT macros * Revert TrackView.cpp changes * Remove Q_DISABLE_MOVE usage since it does not seem to be available in Qt6 --------- Co-authored-by: michaelgregorius <michael.gregorius.git@arcor.de> Co-authored-by: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com> Co-authored-by: BoredGuy1 <66702733+BoredGuy1@users.noreply.github.com> Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com> Co-authored-by: Lisa Magdalena Riedler <git@riedler.wien> Co-authored-by: Dalton Messmer <messmer.dalton@gmail.com>
94 lines
2.8 KiB
CMake
94 lines
2.8 KiB
CMake
# BuildPlugin.cmake - Copyright (c) 2008 Tobias Doerffel
|
|
#
|
|
# description: build LMMS-plugin
|
|
# usage: BUILD_PLUGIN(<PLUGIN_NAME> <PLUGIN_SOURCES> MOCFILES <HEADERS_FOR_MOC> EMBEDDED_RESOURCES <LIST_OF_FILES_TO_EMBED> LINK <SHARED|MODULE>)
|
|
|
|
INCLUDE(GenQrc)
|
|
|
|
MACRO(BUILD_PLUGIN PLUGIN_NAME)
|
|
CMAKE_PARSE_ARGUMENTS(PLUGIN "" "LINK;EXPORT_BASE_NAME" "MOCFILES;EMBEDDED_RESOURCES" ${ARGN})
|
|
SET(PLUGIN_SOURCES ${PLUGIN_UNPARSED_ARGUMENTS})
|
|
|
|
INCLUDE_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${CMAKE_SOURCE_DIR}/include")
|
|
|
|
ADD_DEFINITIONS(-DPLUGIN_NAME=${PLUGIN_NAME})
|
|
|
|
LIST(LENGTH PLUGIN_EMBEDDED_RESOURCES ER_LEN)
|
|
IF(ER_LEN)
|
|
# Expand and sort arguments to avoid locale dependent sorting in
|
|
# shell
|
|
SET(NEW_ARGS)
|
|
FOREACH(ARG ${PLUGIN_EMBEDDED_RESOURCES})
|
|
FILE(GLOB EXPANDED "${ARG}")
|
|
LIST(SORT EXPANDED)
|
|
FOREACH(ITEM ${EXPANDED})
|
|
LIST(APPEND NEW_ARGS "${ITEM}")
|
|
ENDFOREACH()
|
|
ENDFOREACH()
|
|
SET(PLUGIN_EMBEDDED_RESOURCES ${NEW_ARGS})
|
|
|
|
ADD_GEN_QRC(RCC_OUT "${PLUGIN_NAME}.qrc" PREFIX artwork/${PLUGIN_NAME} ${PLUGIN_EMBEDDED_RESOURCES})
|
|
ENDIF(ER_LEN)
|
|
|
|
cmake_language(CALL QT${QT_VERSION_MAJOR}_WRAP_CPP plugin_MOC_out ${PLUGIN_MOCFILES})
|
|
|
|
FOREACH(f ${PLUGIN_SOURCES})
|
|
ADD_FILE_DEPENDENCIES(${f} ${RCC_OUT})
|
|
ENDFOREACH(f)
|
|
|
|
IF(LMMS_BUILD_APPLE)
|
|
LINK_DIRECTORIES("${CMAKE_BINARY_DIR}")
|
|
LINK_LIBRARIES(${QT_LIBRARIES})
|
|
ENDIF(LMMS_BUILD_APPLE)
|
|
IF(LMMS_BUILD_WIN32)
|
|
LINK_DIRECTORIES("${CMAKE_BINARY_DIR}" "${CMAKE_SOURCE_DIR}")
|
|
LINK_LIBRARIES(${QT_LIBRARIES})
|
|
ENDIF(LMMS_BUILD_WIN32)
|
|
|
|
IF (NOT PLUGIN_LINK)
|
|
SET(PLUGIN_LINK "MODULE")
|
|
ENDIF()
|
|
|
|
ADD_LIBRARY(${PLUGIN_NAME} ${PLUGIN_LINK} ${PLUGIN_SOURCES} ${plugin_MOC_out} ${RCC_OUT})
|
|
|
|
target_link_libraries("${PLUGIN_NAME}" lmms Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Xml)
|
|
|
|
INSTALL(TARGETS ${PLUGIN_NAME}
|
|
LIBRARY DESTINATION "${PLUGIN_DIR}"
|
|
RUNTIME DESTINATION "${PLUGIN_DIR}"
|
|
)
|
|
|
|
IF(LMMS_BUILD_APPLE)
|
|
IF ("${PLUGIN_LINK}" STREQUAL "SHARED")
|
|
TARGET_LINK_OPTIONS(${PLUGIN_NAME} PRIVATE -undefined dynamic_lookup)
|
|
ENDIF()
|
|
ENDIF(LMMS_BUILD_APPLE)
|
|
IF(LMMS_BUILD_WIN32)
|
|
add_custom_command(
|
|
TARGET "${PLUGIN_NAME}"
|
|
POST_BUILD
|
|
COMMAND "${STRIP_COMMAND}" "$<TARGET_FILE:${PLUGIN_NAME}>"
|
|
VERBATIM
|
|
COMMAND_EXPAND_LISTS
|
|
)
|
|
SET_TARGET_PROPERTIES(${PLUGIN_NAME} PROPERTIES PREFIX "")
|
|
ENDIF()
|
|
|
|
SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${RCC_OUT} ${plugin_MOC_out}")
|
|
|
|
IF(NOT PLUGIN_EXPORT_BASE_NAME)
|
|
SET(PLUGIN_EXPORT_BASE_NAME "PLUGIN")
|
|
ENDIF()
|
|
|
|
GENERATE_EXPORT_HEADER(${PLUGIN_NAME}
|
|
BASE_NAME ${PLUGIN_EXPORT_BASE_NAME}
|
|
)
|
|
TARGET_INCLUDE_DIRECTORIES(${PLUGIN_NAME}
|
|
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
|
|
)
|
|
|
|
SET_PROPERTY(GLOBAL APPEND PROPERTY PLUGINS_BUILT ${PLUGIN_NAME})
|
|
GET_PROPERTY(PLUGINS_BUILT GLOBAL PROPERTY PLUGINS_BUILT)
|
|
ENDMACRO(BUILD_PLUGIN)
|
|
|