Browse Source

Update build document to reflect name change in fork

* Update build document to reflect name change in fork

* Correct issue wth previous commit - we can't replace all references to audacity quite quite yet

Co-authored-by: John Griffiths <John.Griffiths@verint.com>
pull/143/head
John Griffiths 11 months ago
committed by GitHub
parent
commit
498faf0d1e
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 58
      BUILDING.md

58
BUILDING.md

@ -1,4 +1,4 @@
# Building Audacity
# Building Tenacity
## Prerequisites
@ -35,13 +35,13 @@ On Linux, `cmake` is usually available from the system package manager.
### Windows
We build Audacity using [Microsoft Visual Studio 2019](https://visualstudio.microsoft.com/vs/community/). In order to build Audacity **Desktop development with C++** workload is required.
We build Tenacity using [Microsoft Visual Studio 2019](https://visualstudio.microsoft.com/vs/community/). In order to build Tenacity **Desktop development with C++** workload is required.
As we require only C++14 - MSVC 2017 should work just fine too.
### MacOS
We build Audacity using XCode 12. However, it is likely possible to build it with XCode 7.
We build Tenacity using XCode 12. However, it is likely possible to build it with XCode 7.
### Linux
@ -58,17 +58,17 @@ $ sudo apt-get install libgtk2.0-dev libasound2-dev libavformat-dev libjack-jack
## Building on Windows
1. Clone Audacity from the Audacity GitHub project.
1. Clone Tenacity from the Tenacity GitHub project.
For example, in the **git-bash** run:
```
$ git clone https://github.com/cookiengineer/audacity/
$ git clone https://github.com/tenacityteam/tenacity/
```
2. Open CMake GUI.
Set the **Where is the source code** to the location where Audacity was cloned.
Set the **Where is the source code** to the location where Tenacity was cloned.
Set **Where to build the binaries** to the location you want to place your build in. It is preferred that this location is not within the directory with the source code.
@ -80,7 +80,7 @@ $ sudo apt-get install libgtk2.0-dev libasound2-dev libavformat-dev libjack-jack
6. Select "Build -> Build Solution".
7. You can now run and debug Audacity!
7. You can now run and debug Tenacity!
Generally, steps 1-5 are only needed the first-time you configure. Then, after you've generated the solution, you can open it in Visual Studio next time. If the project configuration has changed, the IDE will invoke CMake internally.
@ -88,63 +88,63 @@ Generally, steps 1-5 are only needed the first-time you configure. Then, after y
## macOS
1. Clone Audacity from the Audacity GitHub project.
1. Clone Tenacity from the Tenacity GitHub project.
```
$ git clone https://github.com/cookiengineer/audacity/
$ git clone https://github.com/tenacityteam/tenacity/
```
2. Configure Audacity using CMake:
2. Configure Tenacity using CMake:
```
$ mkdir build && cd build
$ cmake -GXcode -T buildsystem=1 ../audacity
$ cmake -GXcode -T buildsystem=1 ../tenacity
```
3. Open Audacity XCode project:
3. Open the created XCode project:
```
$ open Audacity.xcodeproj
```
and build Audacity using the IDE.
and build using the XCode IDE.
Steps 1 and 2 are only required for first-time builds.
Alternatively, you can use **CLion**. If you chose to do so, open the directory where you have cloned Audacity using CLion and you are good to go.
Alternatively, you can use **CLion**. If you chose to do so, open the directory where you have cloned Tenacity using CLion and you are good to go.
At the moment we only support **x86_64** builds. It is possible to build using AppleSilicon hardware but **mad** and **id3tag** should be disabled:
```
cmake -GXCode -T buildsystem=1 -Daudacity_use_mad="off" -Daudacity_use_id3tag=off ../audacity
cmake -GXCode -T buildsystem=1 -Daudacity_use_mad="off" -Daudacity_use_id3tag=off ../tenacity
```
## Linux & Other OS
1. Clone Audacity from the Audacity GitHub project.
1. Clone Tenacity from the Tenacity GitHub project.
```
$ git clone https://github.com/cookiengineer/audacity/
$ git clone https://github.com/tenacityteam/tenacity/
```
2. Configure Audacity using CMake:
2. Configure Tenacity using CMake:
```
$ mkdir build && cd build
$ cmake -G "Unix Makefiles" -Daudacity_use_ffmpeg=loaded ../audacity
$ cmake -G "Unix Makefiles" -Daudacity_use_ffmpeg=loaded ../tenacity
```
By default, Debug build will be configured. To change that, pass `-DCMAKE_BUILD_TYPE=Release` to CMake.
3. Build Audacity:
3. Build Tenacity:
```
$ make -j`nproc`
```
4. Testing the build:
Adding a "Portable Settings" folder allows Audacity to ignore the settings of any existing Audacity installation.
Adding a "Portable Settings" folder allows Tenacity to ignore the settings of any existing Tenacity installation.
```
$ cd bin/Debug
$ mkdir "Portable Settings"
$ ./audacity
```
5. Installing Audacity
5. Installing Tenacity
```
$ cd <build directory>
$ sudo make install
@ -158,7 +158,7 @@ You can use `cmake -LH` to get a list of the options available (or use CMake GUI
### Building using system libraries
On Linux it is possible to build Audacity using (almost) only the libraries provided by the package manager. Please, see the list of required libraries [here](linux/required_libraries.md).
On Linux it is possible to build Tenacity using (almost) only the libraries provided by the package manager. Please, see the list of required libraries [here](linux/required_libraries.md).
```
$ mkdir build && cd build
@ -166,24 +166,24 @@ $ cmake -G "Unix Makefiles" \
-Daudacity_use_ffmpeg=loaded \
-Daudacity_lib_preference=system \
-Daudacity_obey_system_dependencies=On \
../audacity
../tenacity
```
There are a few cases when the local library build is preferred:
1. **wxWidgets**: While Audacity on **Linux** uses vanilla version of wxWidgets, we **require** that version **3.1.3** is used. This version is not available in most of the distributions.
2. **portaudio-v19**: Audacity currently uses [some private APIs](https://github.com/audacity/audacity/issues/871), so using system portaudio is not yet possible.
1. **wxWidgets**: While Tenacity on **Linux** uses vanilla version of wxWidgets, we **require** that version **3.1.3** is used. This version is not available in most of the distributions.
2. **portaudio-v19**: Tenacity currently uses [some private APIs](https://github.com/audacity/audacity/issues/871), so using system portaudio is not yet possible.
3. **vamp-host-sdk**: Development packages are not available in Ubuntu 20.04.
4. **libnyquist** & **portmixer**: Libraries are not available in Ubuntu 20.04.
5. **sqlite3** & **libsmbs**: Libraries are very outdated in Ubuntu 20.04.
It is not advised to mix system and local libraries, except for the list above. `ZLib` is a very common dependency; it is possible to mix system and local libraries in one build. However, we advise against doing so.
There is a [`Dockerfile`](linux/build-environment/Dockerfile) that can be used as an example of how to build Audacity using system libraries:
There is a [`Dockerfile`](linux/build-environment/Dockerfile) that can be used as an example of how to build Tenacity using system libraries:
```
$ docker build -t audacity_linux_env .\linux\build-environment\
$ docker run --rm -v ${pwd}:/audacity/audacity/ -v ${pwd}/../build/linux-system:/audacity/build -it audacity_linux_env
$ docker build -t tenacity_linux_env .\linux\build-environment\
$ docker run --rm -v ${pwd}:/tenacity/tenacity/ -v ${pwd}/../build/linux-system:/tenacity/build -it tenacity_linux_env
```
To find system packages, we rely on `pkg-config`. There are several packages that have broken `*.pc` or do not use `pkg-config` at all. For the docker image - we handle this issue by installing the correct [`pc` files](linux/build-environment/pkgconfig/).
Loading…
Cancel
Save