diff options
author | Harshit Maurya <hmaurya999@gmail.com> | 2020-04-12 05:25:56 +0530 |
---|---|---|
committer | Harshit Maurya <hmaurya999@gmail.com> | 2020-04-12 05:25:56 +0530 |
commit | 1da180d9e8149b17e06878a917ee3b09a45b2755 (patch) | |
tree | 4e046a042316114653eb346a048fba8d07367032 /CMakeLists.txt | |
parent | c1920450d05fd7bdd91ab9fc22b4f5a5c9d3d67e (diff) | |
parent | 81a62fca5904697ae7d47158fb5c2a761428a7e2 (diff) |
Merge branch 'master' into context-menu
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 146 |
1 files changed, 92 insertions, 54 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 1a33ba001d..58403e1e71 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -173,6 +173,9 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL src/analyzer/plugins/analyzersoundtouchbeats.cpp src/analyzer/plugins/buffering_utils.cpp src/analyzer/trackanalysisscheduler.cpp + src/audio/types.cpp + src/audio/signalinfo.cpp + src/audio/streaminfo.cpp src/control/control.cpp src/control/controlaudiotaperpot.cpp src/control/controlbehavior.cpp @@ -217,6 +220,7 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL src/controllers/keyboard/keyboardeventfilter.cpp src/controllers/learningutils.cpp src/controllers/midi/midicontroller.cpp + src/controllers/midi/midicontrollerpreset.cpp src/controllers/midi/midicontrollerpresetfilehandler.cpp src/controllers/midi/midienumerator.cpp src/controllers/midi/midimessage.cpp @@ -342,12 +346,14 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL src/library/banshee/bansheedbconnection.cpp src/library/banshee/bansheefeature.cpp src/library/banshee/bansheeplaylistmodel.cpp + src/library/basecoverartdelegate.cpp src/library/baseexternallibraryfeature.cpp src/library/baseexternalplaylistmodel.cpp src/library/baseexternaltrackmodel.cpp src/library/baseplaylistfeature.cpp src/library/basesqltablemodel.cpp src/library/basetrackcache.cpp + src/library/basetracktablemodel.cpp src/library/bpmdelegate.cpp src/library/browse/browsefeature.cpp src/library/browse/browsetablemodel.cpp @@ -559,7 +565,6 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL src/track/tracknumbers.cpp src/track/trackrecord.cpp src/track/trackref.cpp - src/util/audiosignal.cpp src/util/autohidpi.cpp src/util/battery/battery.cpp src/util/cache.cpp @@ -843,123 +848,155 @@ target_link_libraries(mixxx PUBLIC mixxx-lib) # # Installation and Packaging # -include(GNUInstallDirs) +set(MIXXX_INSTALL_BINDIR ".") +set(MIXXX_INSTALL_DATADIR ".") +set(MIXXX_INSTALL_DOCDIR ".") +set(MIXXX_INSTALL_LICENSEDIR ".") +if (UNIX) + include(GNUInstallDirs) + set(MIXXX_INSTALL_BINDIR "${CMAKE_INSTALL_BINDIR}") + set(MIXXX_INSTALL_DATADIR "${CMAKE_INSTALL_DATADIR}/mixxx") + set(MIXXX_INSTALL_DOCDIR "${CMAKE_INSTALL_DOCDIR}/mixxx") + set(MIXXX_INSTALL_LICENSEDIR "${CMAKE_INSTALL_DATADIR}/licenses/mixxx") +endif() + install( TARGETS mixxx RUNTIME DESTINATION - ${CMAKE_INSTALL_BINDIR} + "${MIXXX_INSTALL_BINDIR}" ) # Skins install( DIRECTORY - ${CMAKE_CURRENT_SOURCE_DIR}/res/skins + "${CMAKE_CURRENT_SOURCE_DIR}/res/skins" DESTINATION - ${CMAKE_INSTALL_DATADIR}/mixxx + "${MIXXX_INSTALL_DATADIR}" ) # Controller mappings install( DIRECTORY - ${CMAKE_CURRENT_SOURCE_DIR}/res/controllers + "${CMAKE_CURRENT_SOURCE_DIR}/res/controllers" DESTINATION - ${CMAKE_INSTALL_DATADIR}/mixxx + "${MIXXX_INSTALL_DATADIR}" ) # Translation files install( DIRECTORY - ${CMAKE_CURRENT_SOURCE_DIR}/res/translations + "${CMAKE_CURRENT_SOURCE_DIR}/res/translations" DESTINATION - ${CMAKE_INSTALL_DATADIR}/mixxx + "${MIXXX_INSTALL_DATADIR}" FILES_MATCHING PATTERN "*.qm" ) # Font files install( DIRECTORY - ${CMAKE_CURRENT_SOURCE_DIR}/res/fonts - DESTINATION - ${CMAKE_INSTALL_DATADIR}/mixxx + "${CMAKE_CURRENT_SOURCE_DIR}/res/fonts" + "DESTINATION" + "${MIXXX_INSTALL_DATADIR}" ) # Keyboard mapping(s) install( DIRECTORY - ${CMAKE_CURRENT_SOURCE_DIR}/res/keyboard + "${CMAKE_CURRENT_SOURCE_DIR}/res/keyboard" DESTINATION - ${CMAKE_INSTALL_DATADIR}/mixxx + "${MIXXX_INSTALL_DATADIR}" ) # QScriptEngine extensions install( DIRECTORY - ${CMAKE_CURRENT_SOURCE_DIR}/script + "${CMAKE_CURRENT_SOURCE_DIR}/script" DESTINATION - ${CMAKE_INSTALL_DATADIR}/mixxx + "${MIXXX_INSTALL_DATADIR}" ) # Licenses install( FILES - ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE - ${CMAKE_CURRENT_SOURCE_DIR}/COPYING + "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE" + "${CMAKE_CURRENT_SOURCE_DIR}/COPYING" DESTINATION - ${CMAKE_INSTALL_DATADIR}/licenses/mixxx + "${MIXXX_INSTALL_LICENSEDIR}" ) # Documentation install( FILES - ${CMAKE_CURRENT_SOURCE_DIR}/README - ${CMAKE_CURRENT_SOURCE_DIR}/Mixxx-Manual.pdf + "${CMAKE_CURRENT_SOURCE_DIR}/README" + "${CMAKE_CURRENT_SOURCE_DIR}/Mixxx-Manual.pdf" DESTINATION - ${CMAKE_INSTALL_DOCDIR} + "${MIXXX_INSTALL_DOCDIR}" ) -# .desktop file for KDE/GNOME menu -install( - FILES - ${CMAKE_CURRENT_SOURCE_DIR}/res/linux/mixxx.desktop - DESTINATION - ${CMAKE_INSTALL_DATADIR}/applications -) +# Additional Linux-only files +if(UNIX AND NOT APPLE) + # .desktop file for KDE/GNOME menu + install( + FILES + "${CMAKE_CURRENT_SOURCE_DIR}/res/linux/mixxx.desktop" + DESTINATION + "${CMAKE_INSTALL_DATADIR}/applications" + ) -# Icon file for menu entry -install( - FILES - ${CMAKE_CURRENT_SOURCE_DIR}/res/images/mixxx_icon.svg - DESTINATION - ${CMAKE_INSTALL_DATADIR}/pixmaps -) + # Icon file for menu entry + install( + FILES + "${CMAKE_CURRENT_SOURCE_DIR}/res/images/mixxx_icon.svg" + DESTINATION + "${CMAKE_INSTALL_DATADIR}/pixmaps" + ) -# .appdata.xml file for KDE/GNOME AppStream initiative -install( - FILES - ${CMAKE_CURRENT_SOURCE_DIR}/res/linux/mixxx.appdata.xml - DESTINATION - ${CMAKE_INSTALL_DATADIR}/appdata -) + # .appdata.xml file for KDE/GNOME AppStream initiative + install( + FILES + "${CMAKE_CURRENT_SOURCE_DIR}/res/linux/mixxx.appdata.xml" + DESTINATION + "${CMAKE_INSTALL_DATADIR}/appdata" + ) -# udev rule file for USB HID and Bulk controllers -install( - FILES - ${CMAKE_CURRENT_SOURCE_DIR}/res/linux/mixxx-usb-uaccess.rules - DESTINATION - ${CMAKE_INSTALL_SYSCONFDIR}/udev/rules.d -) + # udev rule file for USB HID and Bulk controllers + install( + FILES + "${CMAKE_CURRENT_SOURCE_DIR}/res/linux/mixxx-usb-uaccess.rules" + DESTINATION + "${CMAKE_INSTALL_SYSCONFDIR}/udev/rules.d" + ) +endif() # Packaging set(CPACK_PACKAGE_VENDOR "Mixxx Project") set(CPACK_PACKAGE_CONTACT "RJ Skerry-Ryan <rryan@mixxx.org>") set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cpack_package_description.txt") +set(CPACK_PACKAGE_INSTALL_DIRECTORY "Mixxx") +set(CPACK_PACKAGE_EXECUTABLES "mixxx" "Mixxx") +set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/res/images/mixxx_install_logo.bmp") +set(CPACK_PACKAGE_HOMEPAGE_URL "https://www.mixxx.org/") + +set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") +set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README") +set(CPACK_STRIP_FILES ON) +set(CPACK_CREATE_DESKTOP_LINKS "mixxx") + set(CPACK_DEBIAN_PACKAGE_SECTION "sound") set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional") set(CPACK_DEBIAN_PACKAGE_SUGGESTS "pdf-viewer") set(CPACK_DEBIAN_PACKAGE_REPLACES "mixxx-data") set(CPACK_DEBIAN_PACKAGE_DEPENDS "libqt5opengl5, libqt5svg5, libqt5xml5, libqt5sql5, libqt5sql5-sqlite") set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) + +set(CPACK_WIX_UPGRADE_GUID "921DC99C-4DCF-478D-B950-50685CB9E6BE") +set(CPACK_WIX_LICENSE_RTF "${CMAKE_CURRENT_SOURCE_DIR}/build/wix/LICENSE.rtf") +set(CPACK_WIX_PRODUCT_ICON "${CMAKE_SOURCE_DIR}/res/images/ic_mixxx.ico") +set(CPACK_WIX_PROPERTY_ARPHELPLINK "${CPACK_PACKAGE_HOMEPAGE_URL}") +set(CPACK_WIX_UI_BANNER "${CMAKE_CURRENT_SOURCE_DIR}/build/wix/images/banner.bmp") +set(CPACK_WIX_UI_DIALOG "${CMAKE_CURRENT_SOURCE_DIR}/build/wix/images/dialog.bmp") + include(CPack) # @@ -1978,22 +2015,23 @@ if(HID) target_sources(mixxx-lib PRIVATE src/controllers/hid/hidcontroller.cpp src/controllers/hid/hidenumerator.cpp + src/controllers/hid/hidcontrollerpreset.cpp src/controllers/hid/hidcontrollerpresetfilehandler.cpp ) target_compile_definitions(mixxx-lib PUBLIC __HID__) if(HIDAPI_STATIC) message(STATUS "Linking internal libhidapi statically") add_library(mixxx-hidapi STATIC EXCLUDE_FROM_ALL) - target_include_directories(mixxx-hidapi SYSTEM PUBLIC lib/hidapi-0.8.0-rc1/hidapi) + target_include_directories(mixxx-hidapi SYSTEM PUBLIC lib/hidapi/hidapi) if(WIN32) - target_sources(mixxx-hidapi PRIVATE lib/hidapi-0.8.0-rc1/windows/hid.c) + target_sources(mixxx-hidapi PRIVATE lib/hidapi/windows/hid.c) elseif(APPLE) - target_sources(mixxx-hidapi PRIVATE lib/hidapi-0.8.0-rc1/mac/hid.c) + target_sources(mixxx-hidapi PRIVATE lib/hidapi/mac/hid.c) elseif(UNIX) if(NOT LibUSB_FOUND) message(FATAL_ERROR "USB HID controller support on Unix with statically linked libhidapi-libusb requires libusb 1.0 and its development headers.") endif() - target_sources(mixxx-hidapi PRIVATE lib/hidapi-0.8.0-rc1/libusb/hid.c) + target_sources(mixxx-hidapi PRIVATE lib/hidapi/libusb/hid.c) target_link_libraries(mixxx-hidapi PRIVATE LibUSB::LibUSB) else() message(FATAL_ERROR "USB HID controller support only possible on Windows/Mac OS/Linux/BSD.") |