Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove SCons #2777

Merged
merged 1 commit into from
Dec 14, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 16 additions & 16 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
buildenv_basepath: /home/runner/buildenv
buildenv_script: tools/ubuntu_buildenv.sh
artifacts_name: Ubuntu 18.04 DEB
artifacts_path: cmake_build/*.deb
artifacts_path: build/*.deb
qt_qpa_platform: offscreen
- name: Ubuntu 20.04 (gcc)
os: ubuntu-20.04
Expand All @@ -45,7 +45,7 @@ jobs:
buildenv_basepath: /home/runner/buildenv
buildenv_script: tools/ubuntu_buildenv.sh
artifacts_name: Ubuntu 20.04 DEB
artifacts_path: cmake_build/*.deb
artifacts_path: build/*.deb
qt_qpa_platform: offscreen
- name: macOS 10.15
os: macos-10.15
Expand All @@ -62,7 +62,7 @@ jobs:
buildenv_basepath: /Users/runner/buildenv
buildenv_script: tools/macos_buildenv.sh
artifacts_name: macOS DMG
artifacts_path: cmake_build/*.dmg
artifacts_path: build/*.dmg
qt_qpa_platform: offscreen
- name: Windows 2019 (MSVC)
os: windows-2019
Expand All @@ -84,7 +84,7 @@ jobs:
buildenv_basepath: C:\buildenv
buildenv_script: tools/windows_buildenv.bat
artifacts_name: Windows Installer
artifacts_path: cmake_build/*.msi
artifacts_path: build/*.msi
qt_qpa_platform: windows

env:
Expand Down Expand Up @@ -133,7 +133,7 @@ jobs:
# Decrypt the certificate
openssl enc -aes-256-cbc -d -md sha512 \
-k "${MACOS_CODESIGN_OPENSSL_PASSWORD}" \
-in /Users/runner/work/mixxx/mixxx/cmake/macos_developer_id_codesign_certificate.p12.enc \
-in /Users/runner/work/mixxx/mixxx/packaging/certificates/macos_developer_id_codesign_certificate.p12.enc \
-out ~/certificate.p12

# Create a temporary keychain for the certificate and import it.
Expand Down Expand Up @@ -182,7 +182,7 @@ jobs:
${{ matrix.os }}-${{ matrix.compiler_cache }}

- name: "Create build directory"
run: mkdir cmake_build
run: mkdir build
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do all jobs have a new working directory?
I know an approach where you use subdirectories for different builds.
I this relevant here.
I use for instance a build/Debug folder and a build/RelWithDebugInfo folder.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do all jobs have a new working directory?

On GitHub Actions, yes.

I know an approach where you use subdirectories for different builds.
I this relevant here.
I use for instance a build/Debug folder and a build/RelWithDebugInfo folder

Every build starts in a clean container, so there is no reason to use different directories on GitHub Actions.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok.

That's might be the issue for the packaging fail. Cpack alown fails.
You need to configure it with cmake first.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The reason for the packaging fail was that the PPA step still used the cmake_build directory instead of build, but since that step was new it didn't caused a conflict. I amended the merge commit.


- name: "Configure"
run: >-
Expand All @@ -201,7 +201,7 @@ jobs:
-DQTKEYCHAIN=ON
-DVINYLCONTROL=ON
..
working-directory: cmake_build
working-directory: build
env:
CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }}
Expand All @@ -216,7 +216,7 @@ jobs:

- name: "Build"
run: cmake --build .
working-directory: cmake_build
working-directory: build
env:
CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }}
Expand All @@ -231,7 +231,7 @@ jobs:

- name: "Test"
run: ctest --timeout 45 ${{ matrix.ctest_args }}
working-directory: cmake_build
working-directory: build
env:
# Render analyzer waveform tests to an offscreen buffer
QT_QPA_PLATFORM: ${{ matrix.qt_qpa_platform }}
Expand All @@ -241,29 +241,29 @@ jobs:

- name: Benchmark
run: cmake --build . --target mixxx-benchmark
working-directory: cmake_build
working-directory: build
env:
# Render analyzer waveform tests to an offscreen buffer
QT_QPA_PLATFORM: ${{ matrix.qt_qpa_platform }}

- name: "Package"
run: cpack -G ${{ matrix.cpack_generator }} -V
working-directory: cmake_build
working-directory: build

- name: "Package for PPA"
if: startsWith(matrix.os, 'ubuntu')
run: cpack -G External -D DEB_SOURCEPKG=ON
working-directory: cmake_build
working-directory: build

- name: "[macOS] Sign Package"
if: runner.os == 'macOS' && env.MACOS_CODESIGN_OPENSSL_PASSWORD != null && env.MACOS_CODESIGN_CERTIFICATE_PASSWORD != null
run: codesign --verbose=4 --options runtime --sign "${APPLE_CODESIGN_IDENTITY}" --entitlements ../build/osx/entitlements.plist *.dmg
working-directory: cmake_build
run: codesign --verbose=4 --options runtime --sign "${APPLE_CODESIGN_IDENTITY}" --entitlements ../packaging/macos/entitlements.plist *.dmg
working-directory: build

- name: "[Windows] Sign Package"
if: runner.os == 'Windows' && env.WINDOWS_CODESIGN_CERTIFICATE_PATH != null && env.WINDOWS_CODESIGN_CERTIFICATE_PASSWORD != null
run: signtool sign /f $Env:WINDOWS_CODESIGN_CERTIFICATE_PATH /p $Env:WINDOWS_CODESIGN_CERTIFICATE_PASSWORD *.msi
working-directory: cmake_build
working-directory: build

- name: "[macOS] Upload build to downloads.mixxx.org"
# skip deploying Ubuntu builds to downloads.mixxx.org because these are deployed to the PPA
Expand All @@ -273,7 +273,7 @@ jobs:
FILE_TO_DEPLOY: ${{ matrix.artifacts_path }}
OS: ${{ runner.os }}
DOWNLOADS_HOSTGATOR_DOT_MIXXX_DOT_ORG_KEY_PASSWORD: ${{ secrets.DOWNLOADS_HOSTGATOR_DOT_MIXXX_DOT_ORG_KEY_PASSWORD }}
SSH_KEY: build/certificates/downloads-hostgator.mixxx.org.key
SSH_KEY: packaging/certificates/downloads-hostgator.mixxx.org.key

- name: "Upload GitHub Actions artifacts"
uses: actions/upload-artifact@v2
Expand Down
8 changes: 0 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,22 +16,14 @@
*~
.#*

dist32
dist64

src/mixxx.rc.include
src/mixxx.res

.sconf_temp
.sconsign.branch
.sconsign.dblite

*.sqlite

*.cfg
!/res/keyboard/*.cfg

cache
__pycache__

lib/*/*.a
Expand Down
10 changes: 5 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1102,7 +1102,7 @@ if (APPLE)

set_target_properties(mixxx PROPERTIES
MACOSX_BUNDLE true
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/cmake/macos_bundle.plist.in"
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/packaging/macos/bundle.plist.in"
)
endif()
else()
Expand Down Expand Up @@ -2590,11 +2590,11 @@ set(CPACK_DEBIAN_UPLOAD_PPA_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/packaging/CPackD


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_LICENSE_RTF "${CMAKE_CURRENT_SOURCE_DIR}/packaging/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")
set(CPACK_WIX_UI_BANNER "${CMAKE_CURRENT_SOURCE_DIR}/packaging/wix/images/banner.bmp")
set(CPACK_WIX_UI_DIALOG "${CMAKE_CURRENT_SOURCE_DIR}/packaging/wix/images/dialog.bmp")

set(CPACK_PROJECT_CONFIG_FILE "${CMAKE_SOURCE_DIR}/packaging/CPackConfig.cmake" )

Expand Down Expand Up @@ -2628,7 +2628,7 @@ if(APPLE AND MACOS_BUNDLE)

set(BUNDLE_NAME "${MIXXX_INSTALL_PREFIX}")
set(BUNDLE_DIRS "${CMAKE_PREFIX_PATH}/lib;${Qt5Widgets_DIR}/../..")
set(APPLE_CODESIGN_ENTITLEMENTS "${CMAKE_CURRENT_SOURCE_DIR}/build/osx/entitlements.plist")
set(APPLE_CODESIGN_ENTITLEMENTS "${CMAKE_CURRENT_SOURCE_DIR}/packaging/macos/entitlements.plist")

configure_file(cmake/modules/BundleInstall.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/BundleInstall.cmake" @ONLY)
install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/BundleInstall.cmake")
Expand Down
9 changes: 6 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,12 @@ bug list][easybugs] and get started!
* Jenkins [![Build status](https://img.shields.io/jenkins/s/https/builds.mixxx.org/job/master-release.svg)](https://builds.mixxx.org/job/master-release)

First, you must install all of Mixxx's dependencies. To compile Mixxx using
[SCons], run:
[CMake], run:

$ scons
$ mkdir build
$ cd build
$ cmake ..
$ cmake --build .

Please see our helpful guides on the [wiki] for more information:
- [Compiling on Linux]
Expand Down Expand Up @@ -98,7 +101,7 @@ license.
[compiling on macOS]: https://mixxx.org/wiki/doku.php/compiling_on_os_x
[compiling on windows]: https://mixxx.org/wiki/doku.php/compiling_on_windows
[mailing list]: https://lists.sourceforge.net/lists/listinfo/mixxx-devel
[SCons]: https://www.scons.org/
[CMake]: https://cmake.org/
[launchpad 2.3.0]: https://launchpad.net/mixxx/+milestone/2.3.0
[wiki roadmap]: https://mixxx.org/wiki/doku.php/development_roadmap
[easybugs]: https://bugs.launchpad.net/mixxx/+bugs?field.searchtext=&orderby=-importance&search=Search&field.status%3Alist=NEW&field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&assignee_option=any&field.assignee=&field.bug_reporter=&field.bug_commenter=&field.subscriber=&field.structural_subscriber=&field.tag=easy&field.tags_combinator=ANY&field.has_cve.used=&field.omit_dupes.used=&field.omit_dupes=on&field.affects_me.used=&field.has_patch.used=&field.has_branches.used=&field.has_branches=on&field.has_no_branches.used=&field.has_no_branches=on&field.has_blueprints.used=&field.has_blueprints=on&field.has_no_blueprints.used=&field.has_no_blueprints=on
Expand Down
Loading