diff options
105 files changed, 6592 insertions, 3067 deletions
diff --git a/.gitignore b/.gitignore index c2eb05fdea..6b294dd1af 100644 --- a/.gitignore +++ b/.gitignore @@ -63,3 +63,6 @@ lib/*/lib/*.lib lib/qtscript-bytearray/*.cc compile_commands.json + +# Exclude documentation generated by Doxygen +/doxygen/ diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ea0f13baca..05fd1f1958 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -113,8 +113,8 @@ repos: - manual - repo: local hooks: - - id: line_length - name: line_length + - id: line-length + name: line-length description: Check for lines longer 100 and brakes them before 80. entry: ./scripts/line_length.py stages: diff --git a/.travis.yml b/.travis.yml index 1f773cd501..23a8f3f21d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -91,7 +91,8 @@ jobs: - name: OSX/clang/SCons build os: osx - osx_image: xcode11 + # The XCode version should match that on the build server! + osx_image: xcode9.4 compiler: clang cache: directories: @@ -127,7 +128,8 @@ jobs: - name: OSX/clang/CMake build os: osx - osx_image: xcode11 + # The XCode version should match that on the build server! + osx_image: xcode9.4 compiler: clang cache: ccache: true diff --git a/CMakeLists.txt b/CMakeLists.txt index 8161eb966b..b0d85ca32a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -615,7 +615,6 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL src/util/timer.cpp src/util/valuetransformer.cpp src/util/version.cpp - src/util/widgethider.cpp src/util/widgetrendertimer.cpp src/util/workerthread.cpp src/util/workerthreadscheduler.cpp @@ -724,6 +723,7 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL src/widget/wstarrating.cpp src/widget/wstatuslight.cpp src/widget/wtime.cpp + src/widget/wtrackmenu.cpp src/widget/wtrackproperty.cpp src/widget/wtracktableview.cpp src/widget/wtracktableviewheader.cpp @@ -849,123 +849,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") |