1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-04-29 23:29:41 +02:00

106 Commits

Author SHA1 Message Date
Emily Mabrey
0f861b97b0
Add automatic local nuget config
CMake now automatically generates `nuget.config` with a read-only PAT

Signed-off-by: Emily Mabrey <emabrey@tenacityaudio.org>
2021-09-20 23:23:43 -04:00
Panagiotis Vasilopoulos
dbe4b564d4
Added Tenacity version in CMakeLists.txt
Doesn't change anything functionality-wise for now, particularly because of
my hesitation with this change as far as hard-coding the version again as a
fallback is concerned.

Audacity's version variable was also reverted in contrast to
56c953a14d343d77f9bf9abb5a6775add50a185a for compatibility reasons with older
project files or for project file compatibility with newer versions of
Audacity.

Signed-off-by: Panagiotis Vasilopoulos <hello@alwayslivid.com>
2021-09-19 16:04:33 +02:00
Sol Fisher Romanoff
0ccf25c27d
Merge remote-tracking branch 'lanodan/bugfix/cmake-wayland-vst'
The VST plugin done via GTK for non-apple & non-windows pulls
<gdk/gdkx.h>, which is specific to X11 and thus isn't available in a
pure-wayland system.

Reference-to: https://github.com/tenacityteam/tenacity/pull/620
2021-09-17 16:14:45 +03:00
Juozas
0a71cad2df
Add --tags parameter to git describe command
This commit contains a workaround for git describe command using only
annotated tags and not all tags known to repository when generating its
output. Adding such parameter to git command line should change its
behavior to more proper one.

Signed-off-by: Juozas <juozaspo@gmail.com>
Reference-to: https://github.com/tenacityteam/tenacity/pull/586
2021-09-16 16:18:23 +00:00
Haelwenn (lanodan) Monnier
7a7792e317
CMake: Merge USE_VST option into VST2
Signed-off-by: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
2021-09-16 01:00:58 +02:00
Haelwenn (lanodan) Monnier
b8995f0989
CMake: Disable VST (GTK) when gdk-x11-3.0 isn't found [wayland]
The VST plugin done via GTK for non-apple & non-windows pulls <gdk/gdkx.h>,
which is specific to X11 and thus isn't available in a pure-wayland system.

This disables it automatically.

Closes: https://github.com/tenacityteam/tenacity/issues/614
Signed-off-by: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
2021-09-15 22:29:15 +02:00
Sol Fisher Romanoff
57644b094b
Merge remote-tracking branch 'leio/wx3.0-compat'
Adds back wxWidgets 3.0 support, at the cost of reintroducing a couple
of minor visual bugs.

Reference-to: https://github.com/tenacityteam/tenacity/pull/300
2021-09-12 17:09:48 +03:00
Emily Mabrey
e137f42bc3
Modify Nuget Cache to Github Packages
Modify `cmake_build.yml` to populate Github Packages Nuget cache via CI builds
Modify `CMakeLists.txt` to read from Github Packages Nuget cache during builds
Add `nuget.config` to enable nuget cache for contributors without configuration

Signed-off-by: Emily Mabrey <emabrey@tenacityaudio.org>
2021-09-09 20:10:39 -04:00
Be
929d423721 CMake: lower wxWidgets required version to 3.0
wxWidgets 3.1 can be explicitly selected by setting the WX_CONFIG
environment variable.

Signed-off-by: Be <be@mixxx.org>
Signed-off-by: Mart Raudsepp <leio@gentoo.org>
2021-09-08 00:32:20 +03:00
Emily Mabrey
7450432f9a
Attempt to fix macOS build issues
Add `umount` command behavior
Modify to retry 12 times over the course of 240 seconds total
Change `scripts\build\macOS\DMGSetup.scpt` to close DMG when finished.
Improve system detection for setting project name.

Signed-off-by: Emily Mabrey <emabrey@tenacityaudio.org>
2021-09-06 02:06:04 -04:00
Emily Mabrey
c3db577e93
Refactor build and CI configurations
Reword vcpkg caching comment
Make comment about wxwidgets Linux/macOS workaround more clear
Give each step of `cmake_build.yml` workflow a unique ID
Change cache lookups to use step's id instead of step's name
Add glob protection to runner OS detection in CI
Set new default CI build type of MinSizeRel
Ensure consistent formatting across `CMakeLists.txt` files
Change mimetypes generated on Linux to use tenacity-project mimetype
Add more explanatory comments to both `CMakeLists.txt`
Replace improper build architecture debug messages

Signed-off-by: Emily Mabrey <emabrey@tenacityaudio.org>
2021-09-06 02:06:04 -04:00
Emily Mabrey
b650b5aafc
Enable Interprocedural Optimization
CMake will now enable linking IPO if the compiler supports it

Signed-off-by: Emily Mabrey <emabrey@tenacityaudio.org>
2021-09-06 02:05:21 -04:00
akleja
12c0cba3c4
Remove PortMixer code
Removes PortMixer code since PortMixer isn't supported by PortAudio

Signed-off-by: akleja <storspov@gmail.com>
2021-09-03 02:07:50 +03:00
Emily Mabrey
03d8c31316
Enable vcpkg binary cache using Nuget
Add Nuget binary caching to vcpkg builds
Enable Jfrog Artifactory as Nuget source in CI builds
Add manual non-interactive Nuget authentication
Prevent CMake from overwriting VCPKG_BINARY_SOURCES
Use CI builds to auto generate cache artifacts within Artifactory
Enable action trigger kind "workflow_dispatch" within `cmake_build.yml`

Signed-off-by: Emily Mabrey <emabrey@tenacityaudio.org>
2021-08-21 11:47:02 -04:00
Be
13914c5125
rename MP2 CMake option to MP2_ENCODING
Twolame only encodes MP2 audio. It does not decode MP2 audio.

Signed-off-by: Be <be@mixxx.org>
2021-08-18 23:47:32 -05:00
Emily Mabrey
86ef2cfc85
Add compile defintions to silence C++17 warnings
Add `CXX_WARNINGS_SILENCE_DEFINES` variable.

Signed-off-by: Emily Mabrey <emabrey@tenacityaudio.org>
Signed-off-by: Be <be@mixxx.org>
2021-08-16 13:22:56 -05:00
Be
76c63fa0fc
CMake: add options to disable sccache and ccache if they are found
Signed-off-by: Be <be@mixxx.org>
2021-08-16 13:22:55 -05:00
Be
0acf00d8b9
Use vcpkg for dependencies and cleanup GH Actions workflow
Signed-off-by: Be <be@mixxx.org>
2021-08-16 13:22:02 -05:00
Be
b1549dd13e
CMake: replace Conan with find_package and add find modules
Also, necessarily coupled with this:
* add CMakeLists.txt for vendored libnyquist
* fix SoundTouch header include paths
* move nyq_reformat_aud_do_response function
* handle portSMF headers installed to portsmf or portSMF

Signed-off-by: Be <be@mixxx.org>
2021-08-16 13:22:01 -05:00
Sol Fisher Romanoff
c51b450d6c
Replace usage of std::uncaught_exception
* Update minimum MacOS version to 10.12 Sierra
* Replace `std::uncaught_exception` with `std::uncaught_exceptions`

Signed-off-by: Sol Fisher Romanoff <sol@solfisher.com>
Reference-to: https://github.com/tenacityteam/tenacity/pull/481
2021-08-15 10:04:30 -04:00
semisol
bdbabb6262
add a cat
Signed-off-by: semisol <hi@semisol.dev>
2021-08-10 02:02:31 +03:00
Sol Fisher Romanoff
8cae1b7cb4
Replace references to topdir and libsrc
Signed-off-by: Sol Fisher Romanoff <sol@solfisher.com>
2021-08-07 14:34:32 +03:00
Sol Fisher Romanoff
56c953a14d
Use git-describe in versions
Reference-to: https://github.com/tenacityteam/tenacity/pull/396

Signed-off-by: Sol Fisher Romanoff <sol@solfisher.com>
2021-08-03 13:52:23 +03:00
Edgar
04609bba01
Allow building Tenacity without Conan
Conan can still be used, but it is fully optional. This should help packagers
a lot.

Signed-off-by: Edgar <Edgar@AnotherFoxGuy.com>
2021-07-30 23:22:48 +00:00
Emily Mabrey
e06af5bb29
Fix MacOS hdiutil CMake parallelization issue
* Make CMake builds better parallelized
* Update CI Build script parallelization
* Make `repeat_hdiutil.sh` take longer between repeats
* Make sure that bash is the latest version on CI builds.

Signed-off-by: Emily Mabrey <emabrey@tenacityaudio.org>
Reference-to: https://github.com/tenacityteam/tenacity/pull/391
2021-07-26 23:55:44 -04:00
Emily Mabrey
2f316d5bc4
Rename project in many places; Replace Most Project Logos; Refactor About Tenacity... Dialog (#276)
Add `locale/en.po` file.
Add English to `locale/LINGUAS` list.
Partially duplicate `msgid`s to `msgstr`s in English locale enable eventual key `msgid` changes
Replace former project name with Tenacity in English locale.
Replace former project website with Tenacity compatible usages in English locale.
Modify `AboutDialog.h` by renaming variables.
Modify `AboutDialog.cpp` by replacing usage of pre-fork name in Strings.
Modify AddBuildInfoRow methods to be static in About dialog.
Make License text const in About dialog.
Make pre-fork credits different in About dialog.
Begin adding Tenacity specific credits
Macros starting with `__` are reserved, so I removed the `__` on the About Dialog guard macro.
Remove `AboutDialog::` from usage of `Role` in `AboutDialog.h`
Refactor overly long generator method into separate methods in `AboutDialog.(h|cpp)`
Begin adding Tenacity developer information
Cleanup layout of `AboutDialog.h` and `AboutDialog.cpp`
Add `safedelete` macro to compliment odd `safenew` macro
Add `enum` to `ShuttleGui.cpp` to make it more clear what `Prop` method is doing.
Remove a ton of pointless and/or redunant `#ifdef` usage
Remove pointless singleton in AboutDialog
Make AboutDialog modal on MacOS
Fix reference type use of `auto` in `AudacityApp` b/c it makes unintentional copy.
Update XPM and PNG images using Tenacity assets
Update ICO images using Tenacity assets.
Fix Windows resource script that improperly used `winuser.h` import.
Add `*.aps` to gitignore to prevent IDE RC pre-load file from being committed.
Add default values for pre-processor constants in `tenacity.rc`.
Make changes needed for `Tenacity.exe` binary
Add 8x8 PNG to Windows ICO files
Replace project name in various CMake and CPack file.
Replace project name in various directory structures.
Replace project name in various OS-specific build files.
Replace project name in various documentation files.
Update the PO and POT files using the script.
Fix places where a `.desktop` file was used on Linux.
Replace title of project windows.
Make splash screen click through to `tenacityaudio.org`.
Remove ® from `AboutDialog.cpp`
Modify copyright message in `AboutDialog.cpp`

Signed-off-by: Emily Mabrey <emilymabrey93@gmail.com>
2021-07-20 19:46:29 -04:00
Edgar
641b293dde 🐛 Fixed missing files when packaging with ninja on windows
Signed-off-by: Edgar <Edgar@AnotherFoxGuy.com>
2021-07-20 06:08:23 -05:00
Be
5b53ed9a50
CMake: use /Z7 instead of /Zi with MSVC to get sccache to work
Signed-off-by: Be <be@mixxx.org>
2021-07-15 08:34:24 -05:00
Be
c98af14ce4
CMake: use CMAKE_C_COMPILER_LAUNCHER instead of RULE_LAUNCH_COMPILE
as recommended by CMake maintainer
https://gitlab.kitware.com/cmake/cmake/-/issues/22405#note_983593

Signed-off-by: Be <be@mixxx.org>
2021-07-15 08:34:24 -05:00
Be
f0b9d8cee7
CMake: use sccache for compiler caching if ccache not available
Signed-off-by: Be <be@mixxx.org>
2021-07-15 08:34:23 -05:00
Be
3e826589a0
CMake: add debugging message for finding ccache
Signed-off-by: Be <be@mixxx.org>
2021-07-15 08:34:23 -05:00
Be
fbaa87b511
CMake: remove timestamp from binaries
This is a pointless source of non-reproducibility and also causes
compiler caches to miss 100% of the time after midnight.

Signed-off-by: Be <be@mixxx.org>
2021-07-12 05:33:26 +00:00
Be
49015e77d0
Remove audacity_ prefix from CMake options
It is unconventional and unnecessary to prefix CMake options. Also
this is not Audacity anymore. :)

Signed-off-by: Be <be@mixxx.org>
2021-07-11 19:51:02 +00:00
Edgar
6a0855140e
🐛 Fixed building with ninja and MSVC 2021-07-09 13:54:43 +02:00
Cookie Engineer
2a37cd19a0
💩 Remove Breakpad Crash Reports 2021-07-04 10:26:57 +02:00
Cookie Engineer
5728dd542f
💩 Remove Update Check 2021-07-04 10:20:24 +02:00
Cookie Engineer
bbf352d36d
💩 Remove Sentry Reporting 2021-07-04 10:19:04 +02:00
Dmitry Vedenko
8a75211548
Bump the Audacity alpha version to 3.0.4 2021-06-24 12:41:10 +03:00
Paul Licameli
77dab158c3 Make Audacity build in C++17 ...
... Fixing many conditional operators with explicit construction of wxString
instead of simple string literals;

And fixing allocation of more strictly aligned structures on Mac, without need
for 10.14 as the minimum SDK, by means of some class-specific operators new
and delete.
2021-06-18 21:44:55 +03:00
gera
c7a24df915 Add recommends from review. 2021-06-18 09:46:40 -04:00
gera
0ab6aefe11 Merge with master and resolve CI configure script conflict. 2021-06-18 09:46:40 -04:00
Peter Jonas
de2213ea2c Generate AppImage on GitHub Actions
Fixes #695. Supersedes #172. See https://appimage.org/.
2021-06-16 11:00:16 -04:00
Dmitry Vedenko
6da25e1646 Add targets for packaging DMG and InnoSetup
Fixes configure.sh

Fixes Windows code signing

Fixes an issue with conan cache on windows

Fixes build manual script

Fixes build manual

Remove unused props

Use long options

Yet another manual fix

Fixes iss
2021-06-16 05:07:31 -07:00
Vitaly Sverchinsky
e8b186a9b4 Crashreporting 2021-06-15 22:44:07 +03:00
Peter Jonas
4b5c95d7fe Move GitHub Actions CI scripts into separate files
Break the workflow into smaller stages (Configure, Build, Install,
Package, etc.) so that you can see exactly which stage failed in the
GitHub Actions run log.

Create a separate Bash CI script for each job stage (configure.sh,
build.sh, install.sh, package.sh, etc.) to reduce the size of the main
YAML workflow file and enable Bash syntax highlighting.

Close #917
2021-06-10 10:09:49 -07:00
Dmitry Vedenko
cb1f8b6c34 Adds lib-sentry-report 2021-06-08 08:08:26 -07:00
Dmitry Vedenko
4dc4e86863 Make lib-network-manager an opt-in library 2021-05-26 07:41:47 -07:00
Dmitry Vedenko
8289f9dbe2 Change the default lib preference to local 2021-05-26 12:46:45 +03:00
Dmitry Vedenko
4e6a1a81a9 Updates the way shared libraries are hadled
1. We put all shared libraries into one place. Both conan and locally built
2. We invoke CopyLibs to copy the libraries to a proper location and to correctly set the RPATH
Fixes CopyLibs script on Windows


Fixes CopyLibs.cmake for Linux

Fixes CopyLibs on macOS


Fixes CopyLibs on macOS
2021-05-26 12:46:45 +03:00
Dmitry Vedenko
8aca9d02de Add the first Conan-based dependecies
add_conan_lib cmake function is defined, that allows to add a dependency using Conan with two possible system fallbacks:

1. pkg_check_modules is invoked, if `PGK_CONFIG ...` is present
2. find_package is invoked if `FIND_PACKAGE_OPTIONS` is present and `pkg_check_modules` has failed

If `ALWAYS_ALLOW_CONAN_FALLBACK` is present - `obey_system_dependencies` will be ignored for the package

Currently, the following dependencies are retrieved using Conan:

* zlib
* expat
* wxwidgets
* libmp3lame
* libid3tag
* libmad

The last three libraries are included in this commit, as they depend on zlib.
Properly pass **arch** and **os.version** to Conan
2021-05-24 06:53:53 -07:00