1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-02 16:49:41 +02:00

74 Commits

Author SHA1 Message Date
Dmitry Vedenko
c189066c4d Fix the default value of conan_allow_prebuilt_binaries 2021-08-03 14:28:27 +03:00
Dmitry Vedenko
e6368a252a Use relative RPATH during installation 2021-07-28 14:27:35 +03:00
Dmitry Vedenko
1968e81c79 Adds an option to disable Conan 2021-07-28 14:27:35 +03:00
Paul Licameli
d0d64bf025 Merge release-3.0.3 into master
Conflicts:
	src/AboutDialog.cpp
	src/prefs/ApplicationPrefs.cpp
2021-07-12 14:43:54 -04:00
Dmitry Vedenko
70bb6a63c3 Set AUDACITY_BUILD_LEVEL to Release when building from release branch 2021-06-24 14:18:50 -04: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
Dmitry Vedenko
576b7e66d2 Update min-macos to 10.9
Since XCode 10, Apple does not recommend building for macOS <10.9

Reason - 10.7 and 10.8 require libstdc++

We enforce libc++ 

```# Shouldn't cmake do this???
   string( APPEND CMAKE_CXX_FLAGS " -stdlib=libc++" )```

While this generally works, it makes the proper dependency management tricky.
 
Compiler message for the library support:

```
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 [-Wdeprecated]
    ld: library not found for -lstdc++
```
2021-05-24 06:53:53 -07:00
Paul Licameli
dfbf3d25c1 Support for our own libraries, distinct from modules 2021-05-18 00:12:44 -04:00
Paul Licameli
d51f505cd9 Define Audacity version constants in CMake not Audacity.h 2021-05-10 00:05:23 -05:00
Paul Licameli
794f4e5877 Inclusion of the correct config header on command line using CMake 2021-05-10 00:05:23 -05:00
Paul Licameli
79b259851f Version check on gcc compiler moved to CMakeLists.txt 2021-05-10 00:05:23 -05:00
Paul Licameli
5844b2090a Generate a picture of module dependencies at configure time 2021-05-06 09:15:22 -05:00
Paul Licameli
20e818cb9e CMake visits src before modules, because modules depend on src 2021-05-06 09:15:22 -05:00
Paul Licameli
6f58cb8294 Hoist the generation of the config header into top CMakeLists...
... Because it depends on having visited various lib-src directories, which I
want to delay until visiting various of the modules, and I also want to visit
src before the modules, because that's bottom-up dependency ordering.

So the step should not be done in src.
2021-05-06 09:15:22 -05:00
Paul Licameli
e653b4aaf8 Eliminate Experimental.h, configure compile options instead...
... This makes it impossible to forget to include the EXPERIMENTAL definitions
(such as when cutting and pasting code) and so get unintended quiet changes of
behavior.

The EXPERIMENTAL flags are now specified instead in new file Experimental.cmake
2021-04-27 12:40:07 -04:00
Leland Lucius
90a69a0173 Bug 2535 - Audacity fails to build on 32-bit Linux 2020-09-06 03:13:16 -05:00
Leland Lucius
c1407cdca9 Force use of our wxWidgets and fix RPATH handling 2020-07-05 13:39:57 -05:00
Leland Lucius
446da212f1 Make sure the modules are built 2020-05-27 16:57:11 -05:00
Leland Lucius
5f5a477dbf Changed build to require python3 instead of python2 2020-05-27 16:01:04 -05:00
Leland Lucius
f33905cd30 Only set SSE/SSE2 flags for 32-bit builds on Windows
They aren't needed for 64-bit since all x86 64-bit processors have
these instructions.
2020-05-26 23:12:19 -05:00
Paul Licameli
7fbfc2b292 Finish the job of 30dbdf4, deleting abandoned source files...
... And correcting #include paths, and removing mentions in read-me files, and
correcting CMakeLists.txt
2020-05-25 17:21:05 -04:00
James Crook
24dba3de6b Update CMake for FreeBSD
(Patch from JackL)
2020-05-19 10:43:36 +01:00
Leland Lucius
2b24220315 Fix locale name creation for Linux 2020-04-24 23:43:24 -05:00
Leland Lucius
8898394f90 Fix Xcode version identification 2020-04-24 23:38:35 -05:00
Leland Lucius
bc3a878ba1 Update CMake project for Mac
Hopefully, this will make Audacity the default configuration
in the XCode GUI.  It works for me, but need others to test
it.
2020-04-19 01:23:37 -05:00
Leland Lucius
abec10d88b Add cmake_build.txt and fix a small CMake issue
The cmake_build.txt is for Mac only right now, so we'll probably
want to try and figure out how to make it generic enough for all
platforms.
2020-03-07 18:16:27 -06:00
Leland Lucius
3d1abf3ddb Preset GIT info in case GIT isn't installed 2020-03-03 17:15:02 -06:00
Raphael Graf
6bb10d4c8f
[CMAKE] Fix build outside of git repository (#440) 2020-03-03 17:11:22 -06:00
Raphael Graf
11748750fb
Fix manpage install path (CMake) (#439) 2020-03-02 23:33:24 -06:00
Leland Lucius
2a4421bf92 Remove sc4 plugin from CMake build 2020-03-01 12:12:37 -06:00
Leland Lucius
caab2a56c9 Remove gettext download for Mac in CMake build
And added a python version that will be used on all platforms
when a suitable msgfmt isn't installed.  (As long as python
is installed.)

Extracted all the Audacity specific functions from main cmake
list and moved them to their own module.

Rearrange the main cmake module a bit and misc. cleanup.
2020-02-29 01:49:55 -06:00
Leland Lucius
fe09b0c4ac Add a couple of missing header checks 2020-02-28 18:08:36 -06:00
Leland Lucius
1a2b407e89 Add "minsrc" target to build tarball
This adds a new target that will build the "minsrc" tarball.

It can be created on any platform now, either from the command
line or from within the Window's and Mac's project files.

The output tarball will be in the build directory.

And it's very easy to update the list of files/directories to
exclude...see scripts/CMakeLists.txt
2020-02-28 01:40:16 -06:00
Leland Lucius
96572761c4 Fix linkage to sc4 plug-in 2020-02-27 09:58:24 -06:00
Leland Lucius
f62500c3ab Disable sc4 plugin tempoarily
Having some linkage problems on Windows...
2020-02-27 01:58:47 -06:00
Leland Lucius
5d62cdbd1e Add sc4 plug-in to CMake build for Windows and Mac 2020-02-27 00:52:34 -06:00
Leland Lucius
c1ce3c74c4 Adding libatomic check for LLVM 2020-02-25 10:02:54 -06:00
Leland Lucius
3545097fe9 Fix CMake/wxWidgets link issue
This corrects linking of the wxWidgets libraries when there's multiple
copies and the desired one is later in the search path.  This can affect
any non-Windows system that doesn't have it's wxWidgets in "standard"
libraries (like our wxWidgets builds on the Mac).

The wrong wxWidgets libraries can be picked up by the linker if other
"-L" arguments appear before the wxWidgets specific on.  This can happen
if you have something like Homebrew installed and CMake finds one of the
libraries (like libogg) installed.  It will put a "-L/usr/local/lib" in
the linker arguments before the "-L/usr/local/x86_64" wxWidgets flag,
and if there happens to be wxWidgets libs in /usr/local/lib, the linker
will pull the wxWidgets libs from /usr/local/lib...not what was wanted.
2020-02-24 13:45:16 -06:00