mirror of
https://github.com/cookiengineer/audacity
synced 2025-07-17 17:17:40 +02:00
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>
This commit is contained in:
parent
49d9a75e49
commit
498faf0d1e
58
BUILDING.md
58
BUILDING.md
@ -1,4 +1,4 @@
|
|||||||
# Building Audacity
|
# Building Tenacity
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
@ -35,13 +35,13 @@ On Linux, `cmake` is usually available from the system package manager.
|
|||||||
|
|
||||||
### Windows
|
### 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.
|
As we require only C++14 - MSVC 2017 should work just fine too.
|
||||||
|
|
||||||
### MacOS
|
### 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
|
### Linux
|
||||||
|
|
||||||
@ -58,17 +58,17 @@ $ sudo apt-get install libgtk2.0-dev libasound2-dev libavformat-dev libjack-jack
|
|||||||
|
|
||||||
## Building on Windows
|
## 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:
|
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.
|
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.
|
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".
|
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.
|
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
|
## 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
|
$ 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
|
$ 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.
|
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:
|
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
|
## 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
|
$ 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.
|
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`
|
$ make -j`nproc`
|
||||||
```
|
```
|
||||||
|
|
||||||
4. Testing the build:
|
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
|
$ cd bin/Debug
|
||||||
$ mkdir "Portable Settings"
|
$ mkdir "Portable Settings"
|
||||||
$ ./audacity
|
$ ./audacity
|
||||||
```
|
```
|
||||||
|
|
||||||
5. Installing Audacity
|
5. Installing Tenacity
|
||||||
```
|
```
|
||||||
$ cd <build directory>
|
$ cd <build directory>
|
||||||
$ sudo make install
|
$ 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
|
### 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
|
$ mkdir build && cd build
|
||||||
@ -166,24 +166,24 @@ $ cmake -G "Unix Makefiles" \
|
|||||||
-Daudacity_use_ffmpeg=loaded \
|
-Daudacity_use_ffmpeg=loaded \
|
||||||
-Daudacity_lib_preference=system \
|
-Daudacity_lib_preference=system \
|
||||||
-Daudacity_obey_system_dependencies=On \
|
-Daudacity_obey_system_dependencies=On \
|
||||||
../audacity
|
../tenacity
|
||||||
```
|
```
|
||||||
|
|
||||||
There are a few cases when the local library build is preferred:
|
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.
|
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**: Audacity currently uses [some private APIs](https://github.com/audacity/audacity/issues/871), so using system portaudio is not yet possible.
|
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.
|
3. **vamp-host-sdk**: Development packages are not available in Ubuntu 20.04.
|
||||||
4. **libnyquist** & **portmixer**: Libraries 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.
|
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.
|
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 build -t tenacity_linux_env .\linux\build-environment\
|
||||||
$ docker run --rm -v ${pwd}:/audacity/audacity/ -v ${pwd}/../build/linux-system:/audacity/build -it audacity_linux_env
|
$ 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/).
|
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…
x
Reference in New Issue
Block a user