mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-09 23:34:20 +00:00
Updated main README with CMake support info and changed docs extension from .txt to .md
This commit is contained in:
parent
0d410ef3e6
commit
67925d384f
31 changed files with 154 additions and 98 deletions
134
README.md
134
README.md
|
|
@ -1,63 +1,97 @@
|
|||
# JUCE 6 Technical Preview
|
||||

|
||||
|
||||
__This branch is a technical preview of JUCE 6. It provides the opportunity to
|
||||
try out the new features and provide any feedback on how they can best work for
|
||||
you before the official release. Please use [this
|
||||
topic](https://forum.juce.com/t/juce6-technical-preview-branch/38699) on the
|
||||
JUCE forum to discuss the new features.__
|
||||
JUCE is an open-source cross-platform C++ application framework used for rapidly
|
||||
developing high quality desktop and mobile applications, including VST, AU (and AUv3),
|
||||
RTAS and AAX audio plug-ins. JUCE can be easily integrated with existing projects or can
|
||||
be used as a project generation tool via the [Projucer](https://juce.com/discover/projucer),
|
||||
which supports exporting projects for Xcode (macOS and iOS), Visual Studio, Android Studio,
|
||||
Code::Blocks, CLion and Linux Makefiles as well as containing a source code editor and
|
||||
live-coding engine which can be used for rapid prototyping.
|
||||
|
||||
## Getting Started with CMake
|
||||
## Getting Started
|
||||
|
||||
For comprehensive documentation on JUCE's CMake API, see
|
||||
`docs/CMake API.txt` in this repo.
|
||||
The JUCE repository contains a [master](https://github.com/juce-framework/JUCE/tree/master)
|
||||
and [develop](https://github.com/juce-framework/JUCE/tree/develop) branch. The develop branch
|
||||
contains the latest bugfixes and features and is periodically merged into the master
|
||||
branch in stable [tagged releases](https://github.com/juce-framework/JUCE/releases)
|
||||
(the latest release containing pre-built binaries can be also downloaded from the
|
||||
[JUCE website](https://juce.com/get-juce)).
|
||||
|
||||
### Building Examples
|
||||
JUCE projects can be managed with either the Projucer (JUCE's own project-configuration
|
||||
tool) or with CMake.
|
||||
|
||||
To build the examples and extras bundled with JUCE, simply clone JUCE and then
|
||||
run:
|
||||
### The Projucer
|
||||
|
||||
```
|
||||
# Go to JUCE directory
|
||||
cd /path/to/cloned/JUCE
|
||||
# Configure build with all examples and extras enabled
|
||||
cmake -B cmake-build -DJUCE_BUILD_EXAMPLES=ON -DJUCE_BUILD_EXTRAS=ON
|
||||
# Build a specific target (building everything will take a long time!)
|
||||
cmake --build cmake-build --target DemoRunner
|
||||
```
|
||||
The repository doesn't contain a pre-built Projucer so you will need to build it
|
||||
for your platform - Xcode, Visual Studio and Linux Makefile projects are located in
|
||||
[extras/Projucer/Builds](/extras/Projucer/Builds)
|
||||
(the minumum system requirements are listed in the __System Requirements__ section below).
|
||||
The Projucer can then be used to create new JUCE projects, view tutorials and run examples.
|
||||
It is also possible to include the JUCE modules source code in an existing project directly,
|
||||
or build them into a static or dynamic library which can be linked into a project.
|
||||
|
||||
### Using `add_subdirectory`
|
||||
For further help getting started, please refer to the JUCE
|
||||
[documentation](https://juce.com/learn/documentation) and
|
||||
[tutorials](https://juce.com/learn/tutorials).
|
||||
|
||||
The simplest way to include JUCE in your project is to add JUCE as a
|
||||
subdirectory of your project, and to include the line `add_subdirectory(JUCE)`
|
||||
in your project CMakeLists.txt. This will make the JUCE targets and helper
|
||||
functions available for use by your custom targets.
|
||||
### CMake
|
||||
|
||||
### Using `find_package`
|
||||
Version 3.15 or higher is required for plugin projects, and strongly
|
||||
recommended for other project types. To use CMake, you will need to install it,
|
||||
either from your system package manager or from the [official download
|
||||
page](https://cmake.org/download/). For comprehensive documentation on JUCE's
|
||||
CMake API, see the [JUCE CMake documentation](/docs/CMake API.md). For examples
|
||||
which may be useful as starting points for new CMake projects, see the [CMake
|
||||
examples directory](/examples/CMake).
|
||||
|
||||
To install JUCE globally on your system, you'll need to tell CMake where to
|
||||
place the installed files. As this is a preview branch, we recommend that you
|
||||
*avoid* installing to the default install location, and instead choose a path
|
||||
that you can easily delete and recreate when installing newer preview versions.
|
||||
#### Building Examples
|
||||
|
||||
```
|
||||
# Go to JUCE directory
|
||||
cd /path/to/clone/JUCE
|
||||
# Configure build with library components only
|
||||
cmake -B cmake-build-install -DCMAKE_INSTALL_PREFIX=/path/to/JUCE/install
|
||||
# Run the installation
|
||||
cmake --build cmake-build-install --target install
|
||||
```
|
||||
To use CMake to build the examples and extras bundled with JUCE, simply clone
|
||||
JUCE and then run the following commands, replacing "DemoRunner" with the name
|
||||
of the target you wish to build.
|
||||
|
||||
Make sure the dependent project CMakeLists.txt contains the line
|
||||
`find_package(JUCE CONFIG REQUIRED)`. This will make the JUCE modules and CMake
|
||||
helper functions available for use in the rest of your build. Then, run the
|
||||
build like so:
|
||||
cd /path/to/JUCE
|
||||
cmake . -B cmake-build -DJUCE_BUILD_EXAMPLES=ON -DJUCE_BUILD_EXTRAS=ON
|
||||
cmake --build cmake-build --target DemoRunner
|
||||
|
||||
```
|
||||
# Go to project directory
|
||||
cd /path/to/my/project
|
||||
# Configure build, passing the JUCE install path you used earlier
|
||||
cmake -B cmake-build -DCMAKE_PREFIX_PATH=/path/to/JUCE/install
|
||||
# Build the project
|
||||
cmake --build cmake-build
|
||||
```
|
||||
## Minimum System Requirements
|
||||
|
||||
#### Building JUCE Projects
|
||||
|
||||
- __macOS/iOS__: macOS 10.11 and Xcode 7.3.1
|
||||
- __Windows__: Windows 8.1 and Visual Studio 2015 64-bit
|
||||
- __Linux__: GCC 4.8
|
||||
- __Android__: Android Studio on Windows, macOS or Linux
|
||||
|
||||
#### Deployment Targets
|
||||
|
||||
- __macOS__: macOS 10.7
|
||||
- __Windows__: Windows Vista
|
||||
- __Linux__: Mainstream Linux distributions
|
||||
- __iOS__: iOS 9.0
|
||||
- __Android__: Jelly Bean (API 16)
|
||||
|
||||
## Contributing
|
||||
|
||||
For bug reports and features requests, please visit the [JUCE Forum](https://forum.juce.com/) -
|
||||
the JUCE developers are active there and will read every post and respond accordingly. When
|
||||
submitting a bug report, please ensure that it follows the
|
||||
[issue template](/.github/ISSUE_TEMPLATE.txt).
|
||||
We don't accept third party GitHub pull requests directly due to copyright restrictions
|
||||
but if you would like to contribute any changes please contact us.
|
||||
|
||||
## License
|
||||
|
||||
The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_blocks_basics, juce_core
|
||||
and juce_events) are permissively licensed under the terms of the
|
||||
[ISC license](http://www.isc.org/downloads/software-support-policy/isc-license/).
|
||||
Other modules are covered by a
|
||||
[GPL/Commercial license](https://www.gnu.org/licenses/gpl-3.0.en.html).
|
||||
|
||||
There are multiple commercial licensing tiers for JUCE, with different terms for each:
|
||||
- JUCE Personal (developers or startup businesses with revenue under 50K USD) - free
|
||||
- JUCE Indie (small businesses with revenue under 500K USD) - $40/month
|
||||
- JUCE Pro (no revenue limit) - $130/month
|
||||
- JUCE Educational (no revenue limit) - free for bona fide educational institutes
|
||||
|
||||
For full terms see [LICENSE.md](LICENSE.md).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue