mirror of
https://github.com/cookiengineer/audacity
synced 2025-10-12 09:33:34 +02:00
Typos and tweaks to wording.
* The wording about mixing system and local libraries is still not clear (or if it is clear is too wordy and could be shorter!).
This commit is contained in:
36
BUILDING.md
36
BUILDING.md
@@ -37,7 +37,7 @@ On Linux, `cmake` is usually available from the system package manager.
|
||||
|
||||
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.
|
||||
|
||||
As we require only C++14 - MSVC 2017 should work just well too.
|
||||
As we require only C++14 - MSVC 2017 should work just fine too.
|
||||
|
||||
### MacOS
|
||||
|
||||
@@ -68,13 +68,13 @@ $ sudo apt-get install libgtk2.0-dev libasound2-dev libavformat-dev libjack-jack
|
||||
|
||||
2. Open CMake GUI.
|
||||
|
||||
Set the **Where is the source code** to the location Audicity was cloned.
|
||||
Set the **Where is the source code** to the location where Audacity was cloned.
|
||||
|
||||
Set **Where to build the binaries** to the location you want to place your build in. It is preffered, 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.
|
||||
|
||||
3. Press **Configure**. You can choose which version of Visual Studio to use and the platform to build for in the popup. We support **x64** and **Win32** platforms. The **x64** platform is a default option. Press **Finish** to start the configuration process.
|
||||
3. Press **Configure**. You can choose which version of Visual Studio to use and the platform to build for in the pop-up. We support **x64** and **Win32** platforms. The **x64** platform is a default option. Press **Finish** to start the configuration process.
|
||||
|
||||
4. After the successful configuration, you will see `Configuring done` in the last line of the log. Press **Generate** to generate the Visual Studio project.
|
||||
4. After successful configuration, you will see `Configuring done` in the last line of the log. Press **Generate** to generate the Visual Studio project.
|
||||
|
||||
5. After you see "Generating done", press **Open Project** to open the project in Visual Studio.
|
||||
|
||||
@@ -82,9 +82,9 @@ $ sudo apt-get install libgtk2.0-dev libasound2-dev libavformat-dev libjack-jack
|
||||
|
||||
7. You can now run and debug Audacity!
|
||||
|
||||
Generally, steps 1-5 are only needed for the first-time configuration. Then, after you've generated the solution - you can open it in Visual Studio next time. In case when 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.
|
||||
|
||||
> Conan Center provides prebuilt binaries only for **x64**. Configuring the project for Win32 will take much longer, as all the 3d party libraries will be built during the configuration.
|
||||
> Conan Center provides prebuilt binaries only for **x64**. Configuring the project for Win32 will take much longer, as all the 3rd party libraries will be built during the configuration.
|
||||
|
||||
## macOS
|
||||
|
||||
@@ -106,11 +106,11 @@ Generally, steps 1-5 are only needed for the first-time configuration. Then, aft
|
||||
```
|
||||
and build Audacity using the IDE.
|
||||
|
||||
Steps 1 and 2 are only required for the first-time builds.
|
||||
Steps 1 and 2 are only required for first-time builds.
|
||||
|
||||
Alternatively, you can use **CLion**. If you chose 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 Audacity using CLion and you are good to go.
|
||||
|
||||
At the moment, we only support **x86_64** builds. It is possible to build using AppleSilicon harware, 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
|
||||
@@ -154,11 +154,11 @@ cmake -GXCode -T buildsystem=1 -Daudacity_use_mad="off" -Daudacity_use_id3tag=of
|
||||
|
||||
### CMake options
|
||||
|
||||
You can use `cmake -LH` to get a list of the options available (or use CMake GUI or `ccmake`). The list will include the documentation about each option. For convienience, [here is a list](CMAKE_OPTIONS.md) of the most notable options.
|
||||
You can use `cmake -LH` to get a list of the options available (or use CMake GUI or `ccmake`). The list will include documentation about each option. For convenience, [here is a list](CMAKE_OPTIONS.md) of the most notable options.
|
||||
|
||||
### 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 the required libraries [here](linux/required_libraries.md).
|
||||
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).
|
||||
|
||||
```
|
||||
$ mkdir build && cd build
|
||||
@@ -171,19 +171,19 @@ $ cmake -G "Unix Makefiles" \
|
||||
|
||||
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 distributives.
|
||||
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.
|
||||
3. **vamp-host-sdk**: Development packages are not available in Ubuntu 20.04.
|
||||
4. **libnyquist**, **portmixer**: Libraries is not available in Ubuntu 20.04.
|
||||
5. **sqlite3**, **libsmbs**: Libraries are very outdated 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 very common dependency; it is possible to mix system and local libraries in one build. However, we try to mitigate this issue to some extent.
|
||||
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 the Audacity using system libraries:
|
||||
There is a [`Dockerfile`](linux/build-environment/Dockerfile) that can be used as an example of how to build Audacity 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
|
||||
```
|
||||
|
||||
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 mitigate 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/).
|
||||
|
Reference in New Issue
Block a user