mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-08 23:24:19 +00:00
Whitespace: Fix whitespace and line endings in cmake files
This commit is contained in:
parent
24ab3cb6a3
commit
8ae3bffe82
28 changed files with 5166 additions and 5168 deletions
388
CMakeLists.txt
388
CMakeLists.txt
|
|
@ -1,194 +1,194 @@
|
|||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
cmake_minimum_required(VERSION 3.22)
|
||||
|
||||
project(JUCE VERSION 8.0.3 LANGUAGES C CXX)
|
||||
|
||||
include(CMakeDependentOption)
|
||||
|
||||
set_property(GLOBAL PROPERTY USE_FOLDERS YES)
|
||||
|
||||
set(JUCE_MODULES_DIR "${JUCE_SOURCE_DIR}/modules" CACHE INTERNAL
|
||||
"The path to JUCE modules")
|
||||
|
||||
# This option will disable most of the JUCE helper functions and tools. This option exists to
|
||||
# facilitate existing CMake builds which handle things like bundle creation, icons, plists, and
|
||||
# binary data independently of JUCE. This option is not recommended - use at your own risk!
|
||||
|
||||
option(JUCE_MODULES_ONLY "Only configure the JUCE modules" OFF)
|
||||
|
||||
include(extras/Build/CMake/JUCEModuleSupport.cmake)
|
||||
|
||||
# This option controls whether dummy targets are added to the build, where these targets contain all
|
||||
# of the source files for each JUCE module. If you're planning to use an IDE and want to be able to
|
||||
# browse all of JUCE's source files, this may be useful. However, it will increase the size of
|
||||
# generated IDE projects and might slow down configuration a bit. If you enable this, you should
|
||||
# probably also add `set_property(GLOBAL PROPERTY USE_FOLDERS YES)` to your top level CMakeLists,
|
||||
# otherwise the module sources will be added directly to the top level of the project, instead of in
|
||||
# a nice 'Modules' subfolder.
|
||||
|
||||
cmake_dependent_option(JUCE_ENABLE_MODULE_SOURCE_GROUPS
|
||||
"Show all module sources in IDE projects" OFF
|
||||
"NOT JUCE_MODULES_ONLY" OFF)
|
||||
|
||||
add_subdirectory(modules)
|
||||
|
||||
if(JUCE_MODULES_ONLY)
|
||||
return()
|
||||
endif()
|
||||
|
||||
include(extras/Build/CMake/JUCEUtils.cmake)
|
||||
|
||||
set_directory_properties(PROPERTIES
|
||||
JUCE_COMPANY_NAME "JUCE"
|
||||
JUCE_COMPANY_WEBSITE "https://juce.com"
|
||||
JUCE_COMPANY_EMAIL "info@juce.com"
|
||||
JUCE_COMPANY_COPYRIGHT "Copyright (c) - Raw Material Software Limited")
|
||||
|
||||
option(JUCE_COPY_PLUGIN_AFTER_BUILD
|
||||
"Whether or not plugins should be installed to the system after building" OFF)
|
||||
set_property(GLOBAL PROPERTY JUCE_COPY_PLUGIN_AFTER_BUILD ${JUCE_COPY_PLUGIN_AFTER_BUILD})
|
||||
|
||||
set(CMAKE_CXX_EXTENSIONS FALSE)
|
||||
|
||||
juce_disable_default_flags()
|
||||
|
||||
add_subdirectory(extras/Build)
|
||||
|
||||
# If you want to build the JUCE examples with VST2/AAX/ARA support, you'll need to make the
|
||||
# VST2/AAX/ARA headers visible to the juce_audio_processors module. You can either set the paths on
|
||||
# the command line, (e.g. -DJUCE_GLOBAL_AAX_SDK_PATH=/path/to/sdk) if you're just building the JUCE
|
||||
# examples, or you can call the `juce_set_*_sdk_path` functions in your own CMakeLists after
|
||||
# importing JUCE.
|
||||
|
||||
if(JUCE_GLOBAL_AAX_SDK_PATH)
|
||||
juce_set_aax_sdk_path("${JUCE_GLOBAL_AAX_SDK_PATH}")
|
||||
endif()
|
||||
|
||||
if(JUCE_GLOBAL_VST2_SDK_PATH)
|
||||
juce_set_vst2_sdk_path("${JUCE_GLOBAL_VST2_SDK_PATH}")
|
||||
endif()
|
||||
|
||||
# The ARA_SDK path should point to the "Umbrella installer" ARA_SDK directory.
|
||||
# The directory can be obtained by recursively cloning https://github.com/Celemony/ARA_SDK and
|
||||
# checking out the tag releases/2.1.0.
|
||||
if(JUCE_GLOBAL_ARA_SDK_PATH)
|
||||
juce_set_ara_sdk_path("${JUCE_GLOBAL_ARA_SDK_PATH}")
|
||||
endif()
|
||||
|
||||
# We don't build anything other than the juceaide by default, because we want to keep configuration
|
||||
# speedy and the number of targets low. If you want to add targets for the extra projects and
|
||||
# example PIPs (there's a lot of them!), specify -DJUCE_BUILD_EXAMPLES=ON and/or
|
||||
# -DJUCE_BUILD_EXTRAS=ON when initially generating your build tree.
|
||||
|
||||
option(JUCE_BUILD_EXTRAS "Add build targets for the Projucer and other tools" OFF)
|
||||
|
||||
if(JUCE_BUILD_EXTRAS)
|
||||
add_subdirectory(extras)
|
||||
endif()
|
||||
|
||||
option(JUCE_BUILD_EXAMPLES "Add build targets for the DemoRunner and PIPs" OFF)
|
||||
|
||||
if(JUCE_BUILD_EXAMPLES)
|
||||
add_subdirectory(examples)
|
||||
endif()
|
||||
|
||||
string(CONCAT webview2_option_message "Location that overrides the default directory where our "
|
||||
"FindWebView2 script is looking for the "
|
||||
"*Microsoft.Web.WebView2* directory")
|
||||
|
||||
option(JUCE_WEBVIEW2_PACKAGE_LOCATION ${webview2_option_message} "")
|
||||
|
||||
# ==================================================================================================
|
||||
# Install configuration
|
||||
|
||||
include(CMakePackageConfigHelpers)
|
||||
write_basic_package_version_file("${JUCE_BINARY_DIR}/JUCEConfigVersion.cmake"
|
||||
VERSION ${JUCE_VERSION}
|
||||
COMPATIBILITY ExactVersion)
|
||||
|
||||
set(JUCE_INSTALL_DESTINATION "lib/cmake/JUCE-${JUCE_VERSION}" CACHE STRING
|
||||
"The location, relative to the install prefix, where the JUCE config file will be installed")
|
||||
|
||||
set(JUCE_MODULE_PATH "include/JUCE-${JUCE_VERSION}/modules")
|
||||
set(UTILS_INSTALL_DIR "${JUCE_INSTALL_DESTINATION}")
|
||||
set(JUCEAIDE_PATH "${JUCE_TOOL_INSTALL_DIR}/${JUCE_JUCEAIDE_NAME}")
|
||||
configure_package_config_file("${JUCE_CMAKE_UTILS_DIR}/JUCEConfig.cmake.in"
|
||||
"${JUCE_BINARY_DIR}/JUCEConfig.cmake"
|
||||
PATH_VARS UTILS_INSTALL_DIR JUCEAIDE_PATH JUCE_MODULE_PATH
|
||||
INSTALL_DESTINATION "${JUCE_INSTALL_DESTINATION}")
|
||||
|
||||
set(JUCE_MODULE_PATH "${JUCE_MODULES_DIR}")
|
||||
set(UTILS_INSTALL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/extras/Build/CMake")
|
||||
get_target_property(JUCEAIDE_PATH juceaide IMPORTED_LOCATION)
|
||||
configure_package_config_file("${JUCE_CMAKE_UTILS_DIR}/JUCEConfig.cmake.in"
|
||||
"${JUCE_BINARY_DIR}/JUCEExportConfig.cmake"
|
||||
PATH_VARS UTILS_INSTALL_DIR JUCEAIDE_PATH JUCE_MODULE_PATH
|
||||
INSTALL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}"
|
||||
INSTALL_DESTINATION "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
|
||||
install(FILES "${JUCE_BINARY_DIR}/JUCEConfigVersion.cmake"
|
||||
"${JUCE_BINARY_DIR}/JUCEConfig.cmake"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/JUCECheckAtomic.cmake"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/JUCEHelperTargets.cmake"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/JUCEModuleSupport.cmake"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/JUCEUtils.cmake"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/JuceLV2Defines.h.in"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/LaunchScreen.storyboard"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/PIPAudioProcessor.cpp.in"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/PIPAudioProcessorWithARA.cpp.in"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/PIPComponent.cpp.in"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/PIPConsole.cpp.in"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/RecentFilesMenuTemplate.nib"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/UnityPluginGUIScript.cs.in"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/checkBundleSigning.cmake"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/copyDir.cmake"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/juce_runtime_arch_detection.cpp"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/juce_LinuxSubprocessHelper.cpp"
|
||||
DESTINATION "${JUCE_INSTALL_DESTINATION}")
|
||||
|
||||
if(("${CMAKE_SOURCE_DIR}" STREQUAL "${JUCE_SOURCE_DIR}") AND (NOT JUCE_BUILD_HELPER_TOOLS))
|
||||
_juce_add_lv2_manifest_helper_target()
|
||||
|
||||
if(TARGET juce_lv2_helper)
|
||||
install(TARGETS juce_lv2_helper EXPORT LV2_HELPER DESTINATION "bin/JUCE-${JUCE_VERSION}")
|
||||
install(EXPORT LV2_HELPER NAMESPACE juce:: DESTINATION "${JUCE_INSTALL_DESTINATION}")
|
||||
endif()
|
||||
|
||||
_juce_add_vst3_manifest_helper_target()
|
||||
|
||||
if(TARGET juce_vst3_helper)
|
||||
install(TARGETS juce_vst3_helper EXPORT VST3_HELPER DESTINATION "bin/JUCE-${JUCE_VERSION}")
|
||||
install(EXPORT VST3_HELPER NAMESPACE juce:: DESTINATION "${JUCE_INSTALL_DESTINATION}")
|
||||
endif()
|
||||
endif()
|
||||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
cmake_minimum_required(VERSION 3.22)
|
||||
|
||||
project(JUCE VERSION 8.0.3 LANGUAGES C CXX)
|
||||
|
||||
include(CMakeDependentOption)
|
||||
|
||||
set_property(GLOBAL PROPERTY USE_FOLDERS YES)
|
||||
|
||||
set(JUCE_MODULES_DIR "${JUCE_SOURCE_DIR}/modules" CACHE INTERNAL
|
||||
"The path to JUCE modules")
|
||||
|
||||
# This option will disable most of the JUCE helper functions and tools. This option exists to
|
||||
# facilitate existing CMake builds which handle things like bundle creation, icons, plists, and
|
||||
# binary data independently of JUCE. This option is not recommended - use at your own risk!
|
||||
|
||||
option(JUCE_MODULES_ONLY "Only configure the JUCE modules" OFF)
|
||||
|
||||
include(extras/Build/CMake/JUCEModuleSupport.cmake)
|
||||
|
||||
# This option controls whether dummy targets are added to the build, where these targets contain all
|
||||
# of the source files for each JUCE module. If you're planning to use an IDE and want to be able to
|
||||
# browse all of JUCE's source files, this may be useful. However, it will increase the size of
|
||||
# generated IDE projects and might slow down configuration a bit. If you enable this, you should
|
||||
# probably also add `set_property(GLOBAL PROPERTY USE_FOLDERS YES)` to your top level CMakeLists,
|
||||
# otherwise the module sources will be added directly to the top level of the project, instead of in
|
||||
# a nice 'Modules' subfolder.
|
||||
|
||||
cmake_dependent_option(JUCE_ENABLE_MODULE_SOURCE_GROUPS
|
||||
"Show all module sources in IDE projects" OFF
|
||||
"NOT JUCE_MODULES_ONLY" OFF)
|
||||
|
||||
add_subdirectory(modules)
|
||||
|
||||
if(JUCE_MODULES_ONLY)
|
||||
return()
|
||||
endif()
|
||||
|
||||
include(extras/Build/CMake/JUCEUtils.cmake)
|
||||
|
||||
set_directory_properties(PROPERTIES
|
||||
JUCE_COMPANY_NAME "JUCE"
|
||||
JUCE_COMPANY_WEBSITE "https://juce.com"
|
||||
JUCE_COMPANY_EMAIL "info@juce.com"
|
||||
JUCE_COMPANY_COPYRIGHT "Copyright (c) - Raw Material Software Limited")
|
||||
|
||||
option(JUCE_COPY_PLUGIN_AFTER_BUILD
|
||||
"Whether or not plugins should be installed to the system after building" OFF)
|
||||
set_property(GLOBAL PROPERTY JUCE_COPY_PLUGIN_AFTER_BUILD ${JUCE_COPY_PLUGIN_AFTER_BUILD})
|
||||
|
||||
set(CMAKE_CXX_EXTENSIONS FALSE)
|
||||
|
||||
juce_disable_default_flags()
|
||||
|
||||
add_subdirectory(extras/Build)
|
||||
|
||||
# If you want to build the JUCE examples with VST2/AAX/ARA support, you'll need to make the
|
||||
# VST2/AAX/ARA headers visible to the juce_audio_processors module. You can either set the paths on
|
||||
# the command line, (e.g. -DJUCE_GLOBAL_AAX_SDK_PATH=/path/to/sdk) if you're just building the JUCE
|
||||
# examples, or you can call the `juce_set_*_sdk_path` functions in your own CMakeLists after
|
||||
# importing JUCE.
|
||||
|
||||
if(JUCE_GLOBAL_AAX_SDK_PATH)
|
||||
juce_set_aax_sdk_path("${JUCE_GLOBAL_AAX_SDK_PATH}")
|
||||
endif()
|
||||
|
||||
if(JUCE_GLOBAL_VST2_SDK_PATH)
|
||||
juce_set_vst2_sdk_path("${JUCE_GLOBAL_VST2_SDK_PATH}")
|
||||
endif()
|
||||
|
||||
# The ARA_SDK path should point to the "Umbrella installer" ARA_SDK directory.
|
||||
# The directory can be obtained by recursively cloning https://github.com/Celemony/ARA_SDK and
|
||||
# checking out the tag releases/2.1.0.
|
||||
if(JUCE_GLOBAL_ARA_SDK_PATH)
|
||||
juce_set_ara_sdk_path("${JUCE_GLOBAL_ARA_SDK_PATH}")
|
||||
endif()
|
||||
|
||||
# We don't build anything other than the juceaide by default, because we want to keep configuration
|
||||
# speedy and the number of targets low. If you want to add targets for the extra projects and
|
||||
# example PIPs (there's a lot of them!), specify -DJUCE_BUILD_EXAMPLES=ON and/or
|
||||
# -DJUCE_BUILD_EXTRAS=ON when initially generating your build tree.
|
||||
|
||||
option(JUCE_BUILD_EXTRAS "Add build targets for the Projucer and other tools" OFF)
|
||||
|
||||
if(JUCE_BUILD_EXTRAS)
|
||||
add_subdirectory(extras)
|
||||
endif()
|
||||
|
||||
option(JUCE_BUILD_EXAMPLES "Add build targets for the DemoRunner and PIPs" OFF)
|
||||
|
||||
if(JUCE_BUILD_EXAMPLES)
|
||||
add_subdirectory(examples)
|
||||
endif()
|
||||
|
||||
string(CONCAT webview2_option_message "Location that overrides the default directory where our "
|
||||
"FindWebView2 script is looking for the "
|
||||
"*Microsoft.Web.WebView2* directory")
|
||||
|
||||
option(JUCE_WEBVIEW2_PACKAGE_LOCATION ${webview2_option_message} "")
|
||||
|
||||
# ==================================================================================================
|
||||
# Install configuration
|
||||
|
||||
include(CMakePackageConfigHelpers)
|
||||
write_basic_package_version_file("${JUCE_BINARY_DIR}/JUCEConfigVersion.cmake"
|
||||
VERSION ${JUCE_VERSION}
|
||||
COMPATIBILITY ExactVersion)
|
||||
|
||||
set(JUCE_INSTALL_DESTINATION "lib/cmake/JUCE-${JUCE_VERSION}" CACHE STRING
|
||||
"The location, relative to the install prefix, where the JUCE config file will be installed")
|
||||
|
||||
set(JUCE_MODULE_PATH "include/JUCE-${JUCE_VERSION}/modules")
|
||||
set(UTILS_INSTALL_DIR "${JUCE_INSTALL_DESTINATION}")
|
||||
set(JUCEAIDE_PATH "${JUCE_TOOL_INSTALL_DIR}/${JUCE_JUCEAIDE_NAME}")
|
||||
configure_package_config_file("${JUCE_CMAKE_UTILS_DIR}/JUCEConfig.cmake.in"
|
||||
"${JUCE_BINARY_DIR}/JUCEConfig.cmake"
|
||||
PATH_VARS UTILS_INSTALL_DIR JUCEAIDE_PATH JUCE_MODULE_PATH
|
||||
INSTALL_DESTINATION "${JUCE_INSTALL_DESTINATION}")
|
||||
|
||||
set(JUCE_MODULE_PATH "${JUCE_MODULES_DIR}")
|
||||
set(UTILS_INSTALL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/extras/Build/CMake")
|
||||
get_target_property(JUCEAIDE_PATH juceaide IMPORTED_LOCATION)
|
||||
configure_package_config_file("${JUCE_CMAKE_UTILS_DIR}/JUCEConfig.cmake.in"
|
||||
"${JUCE_BINARY_DIR}/JUCEExportConfig.cmake"
|
||||
PATH_VARS UTILS_INSTALL_DIR JUCEAIDE_PATH JUCE_MODULE_PATH
|
||||
INSTALL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}"
|
||||
INSTALL_DESTINATION "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
|
||||
install(FILES "${JUCE_BINARY_DIR}/JUCEConfigVersion.cmake"
|
||||
"${JUCE_BINARY_DIR}/JUCEConfig.cmake"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/JUCECheckAtomic.cmake"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/JUCEHelperTargets.cmake"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/JUCEModuleSupport.cmake"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/JUCEUtils.cmake"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/JuceLV2Defines.h.in"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/LaunchScreen.storyboard"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/PIPAudioProcessor.cpp.in"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/PIPAudioProcessorWithARA.cpp.in"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/PIPComponent.cpp.in"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/PIPConsole.cpp.in"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/RecentFilesMenuTemplate.nib"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/UnityPluginGUIScript.cs.in"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/checkBundleSigning.cmake"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/copyDir.cmake"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/juce_runtime_arch_detection.cpp"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/juce_LinuxSubprocessHelper.cpp"
|
||||
DESTINATION "${JUCE_INSTALL_DESTINATION}")
|
||||
|
||||
if(("${CMAKE_SOURCE_DIR}" STREQUAL "${JUCE_SOURCE_DIR}") AND (NOT JUCE_BUILD_HELPER_TOOLS))
|
||||
_juce_add_lv2_manifest_helper_target()
|
||||
|
||||
if(TARGET juce_lv2_helper)
|
||||
install(TARGETS juce_lv2_helper EXPORT LV2_HELPER DESTINATION "bin/JUCE-${JUCE_VERSION}")
|
||||
install(EXPORT LV2_HELPER NAMESPACE juce:: DESTINATION "${JUCE_INSTALL_DESTINATION}")
|
||||
endif()
|
||||
|
||||
_juce_add_vst3_manifest_helper_target()
|
||||
|
||||
if(TARGET juce_vst3_helper)
|
||||
install(TARGETS juce_vst3_helper EXPORT VST3_HELPER DESTINATION "bin/JUCE-${JUCE_VERSION}")
|
||||
install(EXPORT VST3_HELPER NAMESPACE juce:: DESTINATION "${JUCE_INSTALL_DESTINATION}")
|
||||
endif()
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -1,22 +1,22 @@
|
|||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework examples.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# The code included in this file is provided under the terms of the ISC license
|
||||
# http://www.isc.org/downloads/software-support-policy/isc-license. Permission
|
||||
# to use, copy, modify, and/or distribute this software for any purpose with or
|
||||
# without fee is hereby granted provided that the above copyright notice and
|
||||
# this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
# AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
# OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
_juce_add_pips()
|
||||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework examples.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# The code included in this file is provided under the terms of the ISC license
|
||||
# http://www.isc.org/downloads/software-support-policy/isc-license. Permission
|
||||
# to use, copy, modify, and/or distribute this software for any purpose with or
|
||||
# without fee is hereby granted provided that the above copyright notice and
|
||||
# this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
# AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
# OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
_juce_add_pips()
|
||||
|
|
|
|||
|
|
@ -1,111 +1,111 @@
|
|||
# Example Audio Plugin CMakeLists.txt
|
||||
|
||||
# To get started on a new plugin, copy this entire folder (containing this file and C++ sources) to
|
||||
# a convenient location, and then start making modifications.
|
||||
|
||||
# The first line of any CMake project should be a call to `cmake_minimum_required`, which checks
|
||||
# that the installed CMake will be able to understand the following CMakeLists, and ensures that
|
||||
# CMake's behaviour is compatible with the named version. This is a standard CMake command, so more
|
||||
# information can be found in the CMake docs.
|
||||
|
||||
cmake_minimum_required(VERSION 3.22)
|
||||
|
||||
# The top-level CMakeLists.txt file for a project must contain a literal, direct call to the
|
||||
# `project()` command. `project()` sets up some helpful variables that describe source/binary
|
||||
# directories, and the current project version. This is a standard CMake command.
|
||||
|
||||
project(AUDIO_PLUGIN_EXAMPLE VERSION 0.0.1)
|
||||
|
||||
# If you've installed JUCE somehow (via a package manager, or directly using the CMake install
|
||||
# target), you'll need to tell this project that it depends on the installed copy of JUCE. If you've
|
||||
# included JUCE directly in your source tree (perhaps as a submodule), you'll need to tell CMake to
|
||||
# include that subdirectory as part of the build.
|
||||
|
||||
# find_package(JUCE CONFIG REQUIRED) # If you've installed JUCE to your system
|
||||
# or
|
||||
# add_subdirectory(JUCE) # If you've put JUCE in a subdirectory called JUCE
|
||||
|
||||
# If you are building a VST2 or AAX plugin, CMake needs to be told where to find these SDKs on your
|
||||
# system. This setup should be done before calling `juce_add_plugin`.
|
||||
|
||||
# juce_set_vst2_sdk_path(...)
|
||||
# juce_set_aax_sdk_path(...)
|
||||
|
||||
# `juce_add_plugin` adds a static library target with the name passed as the first argument
|
||||
# (AudioPluginExample here). This target is a normal CMake target, but has a lot of extra properties set
|
||||
# up by default. As well as this shared code static library, this function adds targets for each of
|
||||
# the formats specified by the FORMATS arguments. This function accepts many optional arguments.
|
||||
# Check the readme at `docs/CMake API.md` in the JUCE repo for the full list.
|
||||
|
||||
juce_add_plugin(AudioPluginExample
|
||||
# VERSION ... # Set this if the plugin version is different to the project version
|
||||
# ICON_BIG ... # ICON_* arguments specify a path to an image file to use as an icon for the Standalone
|
||||
# ICON_SMALL ...
|
||||
# COMPANY_NAME ... # Specify the name of the plugin's author
|
||||
# IS_SYNTH TRUE/FALSE # Is this a synth or an effect?
|
||||
# NEEDS_MIDI_INPUT TRUE/FALSE # Does the plugin need midi input?
|
||||
# NEEDS_MIDI_OUTPUT TRUE/FALSE # Does the plugin need midi output?
|
||||
# IS_MIDI_EFFECT TRUE/FALSE # Is this plugin a MIDI effect?
|
||||
# EDITOR_WANTS_KEYBOARD_FOCUS TRUE/FALSE # Does the editor need keyboard focus?
|
||||
# COPY_PLUGIN_AFTER_BUILD TRUE/FALSE # Should the plugin be installed to a default location after building?
|
||||
PLUGIN_MANUFACTURER_CODE Juce # A four-character manufacturer id with at least one upper-case character
|
||||
PLUGIN_CODE Dem0 # A unique four-character plugin id with exactly one upper-case character
|
||||
# GarageBand 10.3 requires the first letter to be upper-case, and the remaining letters to be lower-case
|
||||
FORMATS AU VST3 Standalone # The formats to build. Other valid formats are: AAX Unity VST AU AUv3
|
||||
PRODUCT_NAME "Audio Plugin Example") # The name of the final executable, which can differ from the target name
|
||||
|
||||
# `juce_generate_juce_header` will create a JuceHeader.h for a given target, which will be generated
|
||||
# into your build tree. This should be included with `#include <JuceHeader.h>`. The include path for
|
||||
# this header will be automatically added to the target. The main function of the JuceHeader is to
|
||||
# include all your JUCE module headers; if you're happy to include module headers directly, you
|
||||
# probably don't need to call this.
|
||||
|
||||
# juce_generate_juce_header(AudioPluginExample)
|
||||
|
||||
# `target_sources` adds source files to a target. We pass the target that needs the sources as the
|
||||
# first argument, then a visibility parameter for the sources which should normally be PRIVATE.
|
||||
# Finally, we supply a list of source files that will be built into the target. This is a standard
|
||||
# CMake command.
|
||||
|
||||
target_sources(AudioPluginExample
|
||||
PRIVATE
|
||||
PluginEditor.cpp
|
||||
PluginProcessor.cpp)
|
||||
|
||||
# `target_compile_definitions` adds some preprocessor definitions to our target. In a Projucer
|
||||
# project, these might be passed in the 'Preprocessor Definitions' field. JUCE modules also make use
|
||||
# of compile definitions to switch certain features on/off, so if there's a particular feature you
|
||||
# need that's not on by default, check the module header for the correct flag to set here. These
|
||||
# definitions will be visible both to your code, and also the JUCE module code, so for new
|
||||
# definitions, pick unique names that are unlikely to collide! This is a standard CMake command.
|
||||
|
||||
target_compile_definitions(AudioPluginExample
|
||||
PUBLIC
|
||||
# JUCE_WEB_BROWSER and JUCE_USE_CURL would be on by default, but you might not need them.
|
||||
JUCE_WEB_BROWSER=0 # If you remove this, add `NEEDS_WEB_BROWSER TRUE` to the `juce_add_plugin` call
|
||||
JUCE_USE_CURL=0 # If you remove this, add `NEEDS_CURL TRUE` to the `juce_add_plugin` call
|
||||
JUCE_VST3_CAN_REPLACE_VST2=0)
|
||||
|
||||
# If your target needs extra binary assets, you can add them here. The first argument is the name of
|
||||
# a new static library target that will include all the binary resources. There is an optional
|
||||
# `NAMESPACE` argument that can specify the namespace of the generated binary data class. Finally,
|
||||
# the SOURCES argument should be followed by a list of source files that should be built into the
|
||||
# static library. These source files can be of any kind (wav data, images, fonts, icons etc.).
|
||||
# Conversion to binary-data will happen when your target is built.
|
||||
|
||||
# juce_add_binary_data(AudioPluginData SOURCES ...)
|
||||
|
||||
# `target_link_libraries` links libraries and JUCE modules to other libraries or executables. Here,
|
||||
# we're linking our executable target to the `juce::juce_audio_utils` module. Inter-module
|
||||
# dependencies are resolved automatically, so `juce_core`, `juce_events` and so on will also be
|
||||
# linked automatically. If we'd generated a binary data target above, we would need to link to it
|
||||
# here too. This is a standard CMake command.
|
||||
|
||||
target_link_libraries(AudioPluginExample
|
||||
PRIVATE
|
||||
# AudioPluginData # If we'd created a binary data target, we'd link to it here
|
||||
juce::juce_audio_utils
|
||||
PUBLIC
|
||||
juce::juce_recommended_config_flags
|
||||
juce::juce_recommended_lto_flags
|
||||
juce::juce_recommended_warning_flags)
|
||||
# Example Audio Plugin CMakeLists.txt
|
||||
|
||||
# To get started on a new plugin, copy this entire folder (containing this file and C++ sources) to
|
||||
# a convenient location, and then start making modifications.
|
||||
|
||||
# The first line of any CMake project should be a call to `cmake_minimum_required`, which checks
|
||||
# that the installed CMake will be able to understand the following CMakeLists, and ensures that
|
||||
# CMake's behaviour is compatible with the named version. This is a standard CMake command, so more
|
||||
# information can be found in the CMake docs.
|
||||
|
||||
cmake_minimum_required(VERSION 3.22)
|
||||
|
||||
# The top-level CMakeLists.txt file for a project must contain a literal, direct call to the
|
||||
# `project()` command. `project()` sets up some helpful variables that describe source/binary
|
||||
# directories, and the current project version. This is a standard CMake command.
|
||||
|
||||
project(AUDIO_PLUGIN_EXAMPLE VERSION 0.0.1)
|
||||
|
||||
# If you've installed JUCE somehow (via a package manager, or directly using the CMake install
|
||||
# target), you'll need to tell this project that it depends on the installed copy of JUCE. If you've
|
||||
# included JUCE directly in your source tree (perhaps as a submodule), you'll need to tell CMake to
|
||||
# include that subdirectory as part of the build.
|
||||
|
||||
# find_package(JUCE CONFIG REQUIRED) # If you've installed JUCE to your system
|
||||
# or
|
||||
# add_subdirectory(JUCE) # If you've put JUCE in a subdirectory called JUCE
|
||||
|
||||
# If you are building a VST2 or AAX plugin, CMake needs to be told where to find these SDKs on your
|
||||
# system. This setup should be done before calling `juce_add_plugin`.
|
||||
|
||||
# juce_set_vst2_sdk_path(...)
|
||||
# juce_set_aax_sdk_path(...)
|
||||
|
||||
# `juce_add_plugin` adds a static library target with the name passed as the first argument
|
||||
# (AudioPluginExample here). This target is a normal CMake target, but has a lot of extra properties set
|
||||
# up by default. As well as this shared code static library, this function adds targets for each of
|
||||
# the formats specified by the FORMATS arguments. This function accepts many optional arguments.
|
||||
# Check the readme at `docs/CMake API.md` in the JUCE repo for the full list.
|
||||
|
||||
juce_add_plugin(AudioPluginExample
|
||||
# VERSION ... # Set this if the plugin version is different to the project version
|
||||
# ICON_BIG ... # ICON_* arguments specify a path to an image file to use as an icon for the Standalone
|
||||
# ICON_SMALL ...
|
||||
# COMPANY_NAME ... # Specify the name of the plugin's author
|
||||
# IS_SYNTH TRUE/FALSE # Is this a synth or an effect?
|
||||
# NEEDS_MIDI_INPUT TRUE/FALSE # Does the plugin need midi input?
|
||||
# NEEDS_MIDI_OUTPUT TRUE/FALSE # Does the plugin need midi output?
|
||||
# IS_MIDI_EFFECT TRUE/FALSE # Is this plugin a MIDI effect?
|
||||
# EDITOR_WANTS_KEYBOARD_FOCUS TRUE/FALSE # Does the editor need keyboard focus?
|
||||
# COPY_PLUGIN_AFTER_BUILD TRUE/FALSE # Should the plugin be installed to a default location after building?
|
||||
PLUGIN_MANUFACTURER_CODE Juce # A four-character manufacturer id with at least one upper-case character
|
||||
PLUGIN_CODE Dem0 # A unique four-character plugin id with exactly one upper-case character
|
||||
# GarageBand 10.3 requires the first letter to be upper-case, and the remaining letters to be lower-case
|
||||
FORMATS AU VST3 Standalone # The formats to build. Other valid formats are: AAX Unity VST AU AUv3
|
||||
PRODUCT_NAME "Audio Plugin Example") # The name of the final executable, which can differ from the target name
|
||||
|
||||
# `juce_generate_juce_header` will create a JuceHeader.h for a given target, which will be generated
|
||||
# into your build tree. This should be included with `#include <JuceHeader.h>`. The include path for
|
||||
# this header will be automatically added to the target. The main function of the JuceHeader is to
|
||||
# include all your JUCE module headers; if you're happy to include module headers directly, you
|
||||
# probably don't need to call this.
|
||||
|
||||
# juce_generate_juce_header(AudioPluginExample)
|
||||
|
||||
# `target_sources` adds source files to a target. We pass the target that needs the sources as the
|
||||
# first argument, then a visibility parameter for the sources which should normally be PRIVATE.
|
||||
# Finally, we supply a list of source files that will be built into the target. This is a standard
|
||||
# CMake command.
|
||||
|
||||
target_sources(AudioPluginExample
|
||||
PRIVATE
|
||||
PluginEditor.cpp
|
||||
PluginProcessor.cpp)
|
||||
|
||||
# `target_compile_definitions` adds some preprocessor definitions to our target. In a Projucer
|
||||
# project, these might be passed in the 'Preprocessor Definitions' field. JUCE modules also make use
|
||||
# of compile definitions to switch certain features on/off, so if there's a particular feature you
|
||||
# need that's not on by default, check the module header for the correct flag to set here. These
|
||||
# definitions will be visible both to your code, and also the JUCE module code, so for new
|
||||
# definitions, pick unique names that are unlikely to collide! This is a standard CMake command.
|
||||
|
||||
target_compile_definitions(AudioPluginExample
|
||||
PUBLIC
|
||||
# JUCE_WEB_BROWSER and JUCE_USE_CURL would be on by default, but you might not need them.
|
||||
JUCE_WEB_BROWSER=0 # If you remove this, add `NEEDS_WEB_BROWSER TRUE` to the `juce_add_plugin` call
|
||||
JUCE_USE_CURL=0 # If you remove this, add `NEEDS_CURL TRUE` to the `juce_add_plugin` call
|
||||
JUCE_VST3_CAN_REPLACE_VST2=0)
|
||||
|
||||
# If your target needs extra binary assets, you can add them here. The first argument is the name of
|
||||
# a new static library target that will include all the binary resources. There is an optional
|
||||
# `NAMESPACE` argument that can specify the namespace of the generated binary data class. Finally,
|
||||
# the SOURCES argument should be followed by a list of source files that should be built into the
|
||||
# static library. These source files can be of any kind (wav data, images, fonts, icons etc.).
|
||||
# Conversion to binary-data will happen when your target is built.
|
||||
|
||||
# juce_add_binary_data(AudioPluginData SOURCES ...)
|
||||
|
||||
# `target_link_libraries` links libraries and JUCE modules to other libraries or executables. Here,
|
||||
# we're linking our executable target to the `juce::juce_audio_utils` module. Inter-module
|
||||
# dependencies are resolved automatically, so `juce_core`, `juce_events` and so on will also be
|
||||
# linked automatically. If we'd generated a binary data target above, we would need to link to it
|
||||
# here too. This is a standard CMake command.
|
||||
|
||||
target_link_libraries(AudioPluginExample
|
||||
PRIVATE
|
||||
# AudioPluginData # If we'd created a binary data target, we'd link to it here
|
||||
juce::juce_audio_utils
|
||||
PUBLIC
|
||||
juce::juce_recommended_config_flags
|
||||
juce::juce_recommended_lto_flags
|
||||
juce::juce_recommended_warning_flags)
|
||||
|
|
|
|||
|
|
@ -1,24 +1,24 @@
|
|||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework examples.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# The code included in this file is provided under the terms of the ISC license
|
||||
# http://www.isc.org/downloads/software-support-policy/isc-license. Permission
|
||||
# to use, copy, modify, and/or distribute this software for any purpose with or
|
||||
# without fee is hereby granted provided that the above copyright notice and
|
||||
# this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
# AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
# OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
add_subdirectory(AudioPlugin)
|
||||
add_subdirectory(ConsoleApp)
|
||||
add_subdirectory(GuiApp)
|
||||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework examples.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# The code included in this file is provided under the terms of the ISC license
|
||||
# http://www.isc.org/downloads/software-support-policy/isc-license. Permission
|
||||
# to use, copy, modify, and/or distribute this software for any purpose with or
|
||||
# without fee is hereby granted provided that the above copyright notice and
|
||||
# this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
# AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
# OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
add_subdirectory(AudioPlugin)
|
||||
add_subdirectory(ConsoleApp)
|
||||
add_subdirectory(GuiApp)
|
||||
|
|
|
|||
|
|
@ -1,88 +1,88 @@
|
|||
# Example Console App CMakeLists.txt
|
||||
|
||||
# To get started on a new console app, copy this entire folder (containing this file and C++
|
||||
# sources) to a convenient location, and then start making modifications. For other examples of
|
||||
# CMakeLists for console apps, check `extras/BinaryBuilder` and `extras/UnitTestRunner` in the JUCE
|
||||
# repo.
|
||||
|
||||
# The first line of any CMake project should be a call to `cmake_minimum_required`, which checks
|
||||
# that the installed CMake will be able to understand the following CMakeLists, and ensures that
|
||||
# CMake's behaviour is compatible with the named version. This is a standard CMake command, so more
|
||||
# information can be found in the CMake docs.
|
||||
|
||||
cmake_minimum_required(VERSION 3.22)
|
||||
|
||||
# The top-level CMakeLists.txt file for a project must contain a literal, direct call to the
|
||||
# `project()` command. `project()` sets up some helpful variables that describe source/binary
|
||||
# directories, and the current project version. This is a standard CMake command.
|
||||
|
||||
project(CONSOLE_APP_EXAMPLE VERSION 0.0.1)
|
||||
|
||||
# If you've installed JUCE somehow (via a package manager, or directly using the CMake install
|
||||
# target), you'll need to tell this project that it depends on the installed copy of JUCE. If you've
|
||||
# included JUCE directly in your source tree (perhaps as a submodule), you'll need to tell CMake to
|
||||
# include that subdirectory as part of the build.
|
||||
|
||||
# find_package(JUCE CONFIG REQUIRED) # If you've installed JUCE to your system
|
||||
# or
|
||||
# add_subdirectory(JUCE) # If you've put JUCE in a subdirectory called JUCE
|
||||
|
||||
# `juce_add_console_app` adds an executable target with the name passed as the first argument
|
||||
# (ConsoleAppExample here). This target is a normal CMake target, but has a lot of extra properties
|
||||
# set up by default. This function accepts many optional arguments. Check the readme at
|
||||
# `docs/CMake API.md` in the JUCE repo for the full list.
|
||||
|
||||
juce_add_console_app(ConsoleAppExample
|
||||
PRODUCT_NAME "Console App Example") # The name of the final executable, which can differ from the target name
|
||||
|
||||
# `juce_generate_juce_header` will create a JuceHeader.h for a given target, which will be generated
|
||||
# into the build tree. This header should be included with `#include <JuceHeader.h>`. The include
|
||||
# path for this header will be automatically added to the target. The main function of the
|
||||
# JuceHeader is to include all the JUCE module headers for a particular target; if you're happy to
|
||||
# include module headers directly, you probably don't need to call this.
|
||||
|
||||
# juce_generate_juce_header(ConsoleAppExample)
|
||||
|
||||
# `target_sources` adds source files to a target. We pass the target that needs the sources as the
|
||||
# first argument, then a visibility parameter for the sources which should normally be PRIVATE.
|
||||
# Finally, we supply a list of source files that will be built into the target. This is a standard
|
||||
# CMake command.
|
||||
|
||||
target_sources(ConsoleAppExample
|
||||
PRIVATE
|
||||
Main.cpp)
|
||||
|
||||
# `target_compile_definitions` adds some preprocessor definitions to our target. In a Projucer
|
||||
# project, these might be passed in the 'Preprocessor Definitions' field. JUCE modules also make use
|
||||
# of compile definitions to switch certain features on/off, so if there's a particular feature you
|
||||
# need that's not on by default, check the module header for the correct flag to set here. These
|
||||
# definitions will be visible both to your code, and also the JUCE module code, so for new
|
||||
# definitions, pick unique names that are unlikely to collide! This is a standard CMake command.
|
||||
|
||||
target_compile_definitions(ConsoleAppExample
|
||||
PRIVATE
|
||||
# JUCE_WEB_BROWSER and JUCE_USE_CURL would be on by default, but you might not need them.
|
||||
JUCE_WEB_BROWSER=0 # If you remove this, add `NEEDS_WEB_BROWSER TRUE` to the `juce_add_console_app` call
|
||||
JUCE_USE_CURL=0) # If you remove this, add `NEEDS_CURL TRUE` to the `juce_add_console_app` call
|
||||
|
||||
# If the target needs extra binary assets, they can be added here. The first argument is the name of
|
||||
# a new static library target that will include all the binary resources. There is an optional
|
||||
# `NAMESPACE` argument that can specify the namespace of the generated binary data class. Finally,
|
||||
# the SOURCES argument should be followed by a list of source files that should be built into the
|
||||
# static library. These source files can be of any kind (wav data, images, fonts, icons etc.).
|
||||
# Conversion to binary-data will happen when the target is built.
|
||||
|
||||
# juce_add_binary_data(ConsoleAppData SOURCES ...)
|
||||
|
||||
# `target_link_libraries` links libraries and JUCE modules to other libraries or executables. Here,
|
||||
# we're linking our executable target to the `juce::juce_core` module. Inter-module dependencies are
|
||||
# resolved automatically. If you'd generated a binary data target above, you would need to link to
|
||||
# it here too. This is a standard CMake command.
|
||||
|
||||
target_link_libraries(ConsoleAppExample
|
||||
PRIVATE
|
||||
# ConsoleAppData # If you'd created a binary data target, you'd link to it here
|
||||
juce::juce_core
|
||||
PUBLIC
|
||||
juce::juce_recommended_config_flags
|
||||
juce::juce_recommended_warning_flags)
|
||||
# Example Console App CMakeLists.txt
|
||||
|
||||
# To get started on a new console app, copy this entire folder (containing this file and C++
|
||||
# sources) to a convenient location, and then start making modifications. For other examples of
|
||||
# CMakeLists for console apps, check `extras/BinaryBuilder` and `extras/UnitTestRunner` in the JUCE
|
||||
# repo.
|
||||
|
||||
# The first line of any CMake project should be a call to `cmake_minimum_required`, which checks
|
||||
# that the installed CMake will be able to understand the following CMakeLists, and ensures that
|
||||
# CMake's behaviour is compatible with the named version. This is a standard CMake command, so more
|
||||
# information can be found in the CMake docs.
|
||||
|
||||
cmake_minimum_required(VERSION 3.22)
|
||||
|
||||
# The top-level CMakeLists.txt file for a project must contain a literal, direct call to the
|
||||
# `project()` command. `project()` sets up some helpful variables that describe source/binary
|
||||
# directories, and the current project version. This is a standard CMake command.
|
||||
|
||||
project(CONSOLE_APP_EXAMPLE VERSION 0.0.1)
|
||||
|
||||
# If you've installed JUCE somehow (via a package manager, or directly using the CMake install
|
||||
# target), you'll need to tell this project that it depends on the installed copy of JUCE. If you've
|
||||
# included JUCE directly in your source tree (perhaps as a submodule), you'll need to tell CMake to
|
||||
# include that subdirectory as part of the build.
|
||||
|
||||
# find_package(JUCE CONFIG REQUIRED) # If you've installed JUCE to your system
|
||||
# or
|
||||
# add_subdirectory(JUCE) # If you've put JUCE in a subdirectory called JUCE
|
||||
|
||||
# `juce_add_console_app` adds an executable target with the name passed as the first argument
|
||||
# (ConsoleAppExample here). This target is a normal CMake target, but has a lot of extra properties
|
||||
# set up by default. This function accepts many optional arguments. Check the readme at
|
||||
# `docs/CMake API.md` in the JUCE repo for the full list.
|
||||
|
||||
juce_add_console_app(ConsoleAppExample
|
||||
PRODUCT_NAME "Console App Example") # The name of the final executable, which can differ from the target name
|
||||
|
||||
# `juce_generate_juce_header` will create a JuceHeader.h for a given target, which will be generated
|
||||
# into the build tree. This header should be included with `#include <JuceHeader.h>`. The include
|
||||
# path for this header will be automatically added to the target. The main function of the
|
||||
# JuceHeader is to include all the JUCE module headers for a particular target; if you're happy to
|
||||
# include module headers directly, you probably don't need to call this.
|
||||
|
||||
# juce_generate_juce_header(ConsoleAppExample)
|
||||
|
||||
# `target_sources` adds source files to a target. We pass the target that needs the sources as the
|
||||
# first argument, then a visibility parameter for the sources which should normally be PRIVATE.
|
||||
# Finally, we supply a list of source files that will be built into the target. This is a standard
|
||||
# CMake command.
|
||||
|
||||
target_sources(ConsoleAppExample
|
||||
PRIVATE
|
||||
Main.cpp)
|
||||
|
||||
# `target_compile_definitions` adds some preprocessor definitions to our target. In a Projucer
|
||||
# project, these might be passed in the 'Preprocessor Definitions' field. JUCE modules also make use
|
||||
# of compile definitions to switch certain features on/off, so if there's a particular feature you
|
||||
# need that's not on by default, check the module header for the correct flag to set here. These
|
||||
# definitions will be visible both to your code, and also the JUCE module code, so for new
|
||||
# definitions, pick unique names that are unlikely to collide! This is a standard CMake command.
|
||||
|
||||
target_compile_definitions(ConsoleAppExample
|
||||
PRIVATE
|
||||
# JUCE_WEB_BROWSER and JUCE_USE_CURL would be on by default, but you might not need them.
|
||||
JUCE_WEB_BROWSER=0 # If you remove this, add `NEEDS_WEB_BROWSER TRUE` to the `juce_add_console_app` call
|
||||
JUCE_USE_CURL=0) # If you remove this, add `NEEDS_CURL TRUE` to the `juce_add_console_app` call
|
||||
|
||||
# If the target needs extra binary assets, they can be added here. The first argument is the name of
|
||||
# a new static library target that will include all the binary resources. There is an optional
|
||||
# `NAMESPACE` argument that can specify the namespace of the generated binary data class. Finally,
|
||||
# the SOURCES argument should be followed by a list of source files that should be built into the
|
||||
# static library. These source files can be of any kind (wav data, images, fonts, icons etc.).
|
||||
# Conversion to binary-data will happen when the target is built.
|
||||
|
||||
# juce_add_binary_data(ConsoleAppData SOURCES ...)
|
||||
|
||||
# `target_link_libraries` links libraries and JUCE modules to other libraries or executables. Here,
|
||||
# we're linking our executable target to the `juce::juce_core` module. Inter-module dependencies are
|
||||
# resolved automatically. If you'd generated a binary data target above, you would need to link to
|
||||
# it here too. This is a standard CMake command.
|
||||
|
||||
target_link_libraries(ConsoleAppExample
|
||||
PRIVATE
|
||||
# ConsoleAppData # If you'd created a binary data target, you'd link to it here
|
||||
juce::juce_core
|
||||
PUBLIC
|
||||
juce::juce_recommended_config_flags
|
||||
juce::juce_recommended_warning_flags)
|
||||
|
|
|
|||
|
|
@ -1,102 +1,102 @@
|
|||
# Example GUI App CMakeLists.txt
|
||||
|
||||
# To get started on a new GUI app, copy this entire folder (containing this file and C++ sources) to
|
||||
# a convenient location, and then start making modifications. For other examples of CMakeLists for
|
||||
# GUI apps, check `extras/Projucer` and `examples/DemoRunner` in the JUCE repo.
|
||||
|
||||
# The first line of any CMake project should be a call to `cmake_minimum_required`, which checks
|
||||
# that the installed CMake will be able to understand the following CMakeLists, and ensures that
|
||||
# CMake's behaviour is compatible with the named version. This is a standard CMake command, so more
|
||||
# information can be found in the CMake docs.
|
||||
|
||||
cmake_minimum_required(VERSION 3.22)
|
||||
|
||||
# The top-level CMakeLists.txt file for a project must contain a literal, direct call to the
|
||||
# `project()` command. `project()` sets up some helpful variables that describe source/binary
|
||||
# directories, and the current project version. This is a standard CMake command.
|
||||
|
||||
project(GUI_APP_EXAMPLE VERSION 0.0.1)
|
||||
|
||||
# If you've installed JUCE somehow (via a package manager, or directly using the CMake install
|
||||
# target), you'll need to tell this project that it depends on the installed copy of JUCE. If you've
|
||||
# included JUCE directly in your source tree (perhaps as a submodule), you'll need to tell CMake to
|
||||
# include that subdirectory as part of the build.
|
||||
|
||||
# find_package(JUCE CONFIG REQUIRED) # If you've installed JUCE to your system
|
||||
# or
|
||||
# add_subdirectory(JUCE) # If you've put JUCE in a subdirectory called JUCE
|
||||
|
||||
# If your app depends the VST2 SDK, perhaps to host VST2 plugins, CMake needs to be told where
|
||||
# to find the SDK on your system. This setup should be done before calling `juce_add_gui_app`.
|
||||
|
||||
# juce_set_vst2_sdk_path(...)
|
||||
|
||||
# `juce_add_gui_app` adds an executable target with the name passed as the first argument
|
||||
# (GuiAppExample here). This target is a normal CMake target, but has a lot of extra properties set
|
||||
# up by default. This function accepts many optional arguments. Check the readme at
|
||||
# `docs/CMake API.md` in the JUCE repo for the full list.
|
||||
|
||||
juce_add_gui_app(GuiAppExample
|
||||
# VERSION ... # Set this if the app version is different to the project version
|
||||
# ICON_BIG ... # ICON_* arguments specify a path to an image file to use as an icon
|
||||
# ICON_SMALL ...
|
||||
# DOCUMENT_EXTENSIONS ... # Specify file extensions that should be associated with this app
|
||||
# COMPANY_NAME ... # Specify the name of the app's author
|
||||
PRODUCT_NAME "Gui App Example") # The name of the final executable, which can differ from the target name
|
||||
|
||||
# `juce_generate_juce_header` will create a JuceHeader.h for a given target, which will be generated
|
||||
# into your build tree. This should be included with `#include <JuceHeader.h>`. The include path for
|
||||
# this header will be automatically added to the target. The main function of the JuceHeader is to
|
||||
# include all your JUCE module headers; if you're happy to include module headers directly, you
|
||||
# probably don't need to call this.
|
||||
|
||||
# juce_generate_juce_header(GuiAppExample)
|
||||
|
||||
# `target_sources` adds source files to a target. We pass the target that needs the sources as the
|
||||
# first argument, then a visibility parameter for the sources which should normally be PRIVATE.
|
||||
# Finally, we supply a list of source files that will be built into the target. This is a standard
|
||||
# CMake command.
|
||||
|
||||
target_sources(GuiAppExample
|
||||
PRIVATE
|
||||
Main.cpp
|
||||
MainComponent.cpp)
|
||||
|
||||
# `target_compile_definitions` adds some preprocessor definitions to our target. In a Projucer
|
||||
# project, these might be passed in the 'Preprocessor Definitions' field. JUCE modules also make use
|
||||
# of compile definitions to switch certain features on/off, so if there's a particular feature you
|
||||
# need that's not on by default, check the module header for the correct flag to set here. These
|
||||
# definitions will be visible both to your code, and also the JUCE module code, so for new
|
||||
# definitions, pick unique names that are unlikely to collide! This is a standard CMake command.
|
||||
|
||||
target_compile_definitions(GuiAppExample
|
||||
PRIVATE
|
||||
# JUCE_WEB_BROWSER and JUCE_USE_CURL would be on by default, but you might not need them.
|
||||
JUCE_WEB_BROWSER=0 # If you remove this, add `NEEDS_WEB_BROWSER TRUE` to the `juce_add_gui_app` call
|
||||
JUCE_USE_CURL=0 # If you remove this, add `NEEDS_CURL TRUE` to the `juce_add_gui_app` call
|
||||
JUCE_APPLICATION_NAME_STRING="$<TARGET_PROPERTY:GuiAppExample,JUCE_PRODUCT_NAME>"
|
||||
JUCE_APPLICATION_VERSION_STRING="$<TARGET_PROPERTY:GuiAppExample,JUCE_VERSION>")
|
||||
|
||||
# If your target needs extra binary assets, you can add them here. The first argument is the name of
|
||||
# a new static library target that will include all the binary resources. There is an optional
|
||||
# `NAMESPACE` argument that can specify the namespace of the generated binary data class. Finally,
|
||||
# the SOURCES argument should be followed by a list of source files that should be built into the
|
||||
# static library. These source files can be of any kind (wav data, images, fonts, icons etc.).
|
||||
# Conversion to binary-data will happen when your target is built.
|
||||
|
||||
# juce_add_binary_data(GuiAppData SOURCES ...)
|
||||
|
||||
# `target_link_libraries` links libraries and JUCE modules to other libraries or executables. Here,
|
||||
# we're linking our executable target to the `juce::juce_gui_extra` module. Inter-module
|
||||
# dependencies are resolved automatically, so `juce_core`, `juce_events` and so on will also be
|
||||
# linked automatically. If we'd generated a binary data target above, we would need to link to it
|
||||
# here too. This is a standard CMake command.
|
||||
|
||||
target_link_libraries(GuiAppExample
|
||||
PRIVATE
|
||||
# GuiAppData # If we'd created a binary data target, we'd link to it here
|
||||
juce::juce_gui_extra
|
||||
PUBLIC
|
||||
juce::juce_recommended_config_flags
|
||||
juce::juce_recommended_lto_flags
|
||||
juce::juce_recommended_warning_flags)
|
||||
# Example GUI App CMakeLists.txt
|
||||
|
||||
# To get started on a new GUI app, copy this entire folder (containing this file and C++ sources) to
|
||||
# a convenient location, and then start making modifications. For other examples of CMakeLists for
|
||||
# GUI apps, check `extras/Projucer` and `examples/DemoRunner` in the JUCE repo.
|
||||
|
||||
# The first line of any CMake project should be a call to `cmake_minimum_required`, which checks
|
||||
# that the installed CMake will be able to understand the following CMakeLists, and ensures that
|
||||
# CMake's behaviour is compatible with the named version. This is a standard CMake command, so more
|
||||
# information can be found in the CMake docs.
|
||||
|
||||
cmake_minimum_required(VERSION 3.22)
|
||||
|
||||
# The top-level CMakeLists.txt file for a project must contain a literal, direct call to the
|
||||
# `project()` command. `project()` sets up some helpful variables that describe source/binary
|
||||
# directories, and the current project version. This is a standard CMake command.
|
||||
|
||||
project(GUI_APP_EXAMPLE VERSION 0.0.1)
|
||||
|
||||
# If you've installed JUCE somehow (via a package manager, or directly using the CMake install
|
||||
# target), you'll need to tell this project that it depends on the installed copy of JUCE. If you've
|
||||
# included JUCE directly in your source tree (perhaps as a submodule), you'll need to tell CMake to
|
||||
# include that subdirectory as part of the build.
|
||||
|
||||
# find_package(JUCE CONFIG REQUIRED) # If you've installed JUCE to your system
|
||||
# or
|
||||
# add_subdirectory(JUCE) # If you've put JUCE in a subdirectory called JUCE
|
||||
|
||||
# If your app depends the VST2 SDK, perhaps to host VST2 plugins, CMake needs to be told where
|
||||
# to find the SDK on your system. This setup should be done before calling `juce_add_gui_app`.
|
||||
|
||||
# juce_set_vst2_sdk_path(...)
|
||||
|
||||
# `juce_add_gui_app` adds an executable target with the name passed as the first argument
|
||||
# (GuiAppExample here). This target is a normal CMake target, but has a lot of extra properties set
|
||||
# up by default. This function accepts many optional arguments. Check the readme at
|
||||
# `docs/CMake API.md` in the JUCE repo for the full list.
|
||||
|
||||
juce_add_gui_app(GuiAppExample
|
||||
# VERSION ... # Set this if the app version is different to the project version
|
||||
# ICON_BIG ... # ICON_* arguments specify a path to an image file to use as an icon
|
||||
# ICON_SMALL ...
|
||||
# DOCUMENT_EXTENSIONS ... # Specify file extensions that should be associated with this app
|
||||
# COMPANY_NAME ... # Specify the name of the app's author
|
||||
PRODUCT_NAME "Gui App Example") # The name of the final executable, which can differ from the target name
|
||||
|
||||
# `juce_generate_juce_header` will create a JuceHeader.h for a given target, which will be generated
|
||||
# into your build tree. This should be included with `#include <JuceHeader.h>`. The include path for
|
||||
# this header will be automatically added to the target. The main function of the JuceHeader is to
|
||||
# include all your JUCE module headers; if you're happy to include module headers directly, you
|
||||
# probably don't need to call this.
|
||||
|
||||
# juce_generate_juce_header(GuiAppExample)
|
||||
|
||||
# `target_sources` adds source files to a target. We pass the target that needs the sources as the
|
||||
# first argument, then a visibility parameter for the sources which should normally be PRIVATE.
|
||||
# Finally, we supply a list of source files that will be built into the target. This is a standard
|
||||
# CMake command.
|
||||
|
||||
target_sources(GuiAppExample
|
||||
PRIVATE
|
||||
Main.cpp
|
||||
MainComponent.cpp)
|
||||
|
||||
# `target_compile_definitions` adds some preprocessor definitions to our target. In a Projucer
|
||||
# project, these might be passed in the 'Preprocessor Definitions' field. JUCE modules also make use
|
||||
# of compile definitions to switch certain features on/off, so if there's a particular feature you
|
||||
# need that's not on by default, check the module header for the correct flag to set here. These
|
||||
# definitions will be visible both to your code, and also the JUCE module code, so for new
|
||||
# definitions, pick unique names that are unlikely to collide! This is a standard CMake command.
|
||||
|
||||
target_compile_definitions(GuiAppExample
|
||||
PRIVATE
|
||||
# JUCE_WEB_BROWSER and JUCE_USE_CURL would be on by default, but you might not need them.
|
||||
JUCE_WEB_BROWSER=0 # If you remove this, add `NEEDS_WEB_BROWSER TRUE` to the `juce_add_gui_app` call
|
||||
JUCE_USE_CURL=0 # If you remove this, add `NEEDS_CURL TRUE` to the `juce_add_gui_app` call
|
||||
JUCE_APPLICATION_NAME_STRING="$<TARGET_PROPERTY:GuiAppExample,JUCE_PRODUCT_NAME>"
|
||||
JUCE_APPLICATION_VERSION_STRING="$<TARGET_PROPERTY:GuiAppExample,JUCE_VERSION>")
|
||||
|
||||
# If your target needs extra binary assets, you can add them here. The first argument is the name of
|
||||
# a new static library target that will include all the binary resources. There is an optional
|
||||
# `NAMESPACE` argument that can specify the namespace of the generated binary data class. Finally,
|
||||
# the SOURCES argument should be followed by a list of source files that should be built into the
|
||||
# static library. These source files can be of any kind (wav data, images, fonts, icons etc.).
|
||||
# Conversion to binary-data will happen when your target is built.
|
||||
|
||||
# juce_add_binary_data(GuiAppData SOURCES ...)
|
||||
|
||||
# `target_link_libraries` links libraries and JUCE modules to other libraries or executables. Here,
|
||||
# we're linking our executable target to the `juce::juce_gui_extra` module. Inter-module
|
||||
# dependencies are resolved automatically, so `juce_core`, `juce_events` and so on will also be
|
||||
# linked automatically. If we'd generated a binary data target above, we would need to link to it
|
||||
# here too. This is a standard CMake command.
|
||||
|
||||
target_link_libraries(GuiAppExample
|
||||
PRIVATE
|
||||
# GuiAppData # If we'd created a binary data target, we'd link to it here
|
||||
juce::juce_gui_extra
|
||||
PUBLIC
|
||||
juce::juce_recommended_config_flags
|
||||
juce::juce_recommended_lto_flags
|
||||
juce::juce_recommended_warning_flags)
|
||||
|
|
|
|||
|
|
@ -1,83 +1,83 @@
|
|||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework examples.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# The code included in this file is provided under the terms of the ISC license
|
||||
# http://www.isc.org/downloads/software-support-policy/isc-license. Permission
|
||||
# to use, copy, modify, and/or distribute this software for any purpose with or
|
||||
# without fee is hereby granted provided that the above copyright notice and
|
||||
# this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
# AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
# OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
set(CMAKE_FOLDER examples)
|
||||
|
||||
add_subdirectory(CMake)
|
||||
add_subdirectory(DemoRunner)
|
||||
|
||||
function(_juce_add_pips)
|
||||
file(GLOB headers
|
||||
CONFIGURE_DEPENDS LIST_DIRECTORIES false
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/*.h")
|
||||
|
||||
if((CMAKE_SYSTEM_NAME STREQUAL "Linux") OR (CMAKE_SYSTEM_NAME MATCHES ".*BSD"))
|
||||
list(REMOVE_ITEM headers
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/CameraDemo.h"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/PushNotificationsDemo.h"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/VideoDemo.h")
|
||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
list(REMOVE_ITEM headers
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/PushNotificationsDemo.h")
|
||||
endif()
|
||||
|
||||
if(NOT (TARGET juce_ara_sdk
|
||||
AND (CMAKE_SYSTEM_NAME STREQUAL "Windows"
|
||||
OR CMAKE_SYSTEM_NAME STREQUAL "Darwin"
|
||||
OR CMAKE_SYSTEM_NAME STREQUAL "Linux")))
|
||||
list(REMOVE_ITEM headers
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/ARAPluginDemo.h")
|
||||
endif()
|
||||
|
||||
if(NOT TARGET juce_vst2_sdk)
|
||||
list(REMOVE_ITEM headers "${CMAKE_CURRENT_SOURCE_DIR}/ReaperEmbeddedViewPluginDemo.h")
|
||||
endif()
|
||||
|
||||
if((CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/WebViewPluginDemo.h")
|
||||
|
||||
if(NOT ("${JUCE_CMAKE_UTILS_DIR}" IN_LIST CMAKE_MODULE_PATH))
|
||||
list(APPEND CMAKE_MODULE_PATH "${JUCE_CMAKE_UTILS_DIR}")
|
||||
endif()
|
||||
|
||||
find_package(WebView2)
|
||||
|
||||
if(NOT WebView2_FOUND)
|
||||
list(REMOVE_ITEM headers "${CMAKE_CURRENT_SOURCE_DIR}/WebViewPluginDemo.h")
|
||||
|
||||
message(WARNING "The WebViewPluginDemo was not enabled because the WebView2 package wasn't found.")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
foreach(header IN ITEMS ${headers})
|
||||
juce_add_pip(${header} added_target)
|
||||
target_link_libraries(${added_target} PUBLIC
|
||||
juce::juce_recommended_config_flags
|
||||
juce::juce_recommended_lto_flags
|
||||
juce::juce_recommended_warning_flags)
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
add_subdirectory(Audio)
|
||||
add_subdirectory(DSP)
|
||||
add_subdirectory(GUI)
|
||||
add_subdirectory(Plugins)
|
||||
add_subdirectory(Utilities)
|
||||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework examples.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# The code included in this file is provided under the terms of the ISC license
|
||||
# http://www.isc.org/downloads/software-support-policy/isc-license. Permission
|
||||
# to use, copy, modify, and/or distribute this software for any purpose with or
|
||||
# without fee is hereby granted provided that the above copyright notice and
|
||||
# this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
# AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
# OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
set(CMAKE_FOLDER examples)
|
||||
|
||||
add_subdirectory(CMake)
|
||||
add_subdirectory(DemoRunner)
|
||||
|
||||
function(_juce_add_pips)
|
||||
file(GLOB headers
|
||||
CONFIGURE_DEPENDS LIST_DIRECTORIES false
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/*.h")
|
||||
|
||||
if((CMAKE_SYSTEM_NAME STREQUAL "Linux") OR (CMAKE_SYSTEM_NAME MATCHES ".*BSD"))
|
||||
list(REMOVE_ITEM headers
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/CameraDemo.h"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/PushNotificationsDemo.h"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/VideoDemo.h")
|
||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
list(REMOVE_ITEM headers
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/PushNotificationsDemo.h")
|
||||
endif()
|
||||
|
||||
if(NOT (TARGET juce_ara_sdk
|
||||
AND (CMAKE_SYSTEM_NAME STREQUAL "Windows"
|
||||
OR CMAKE_SYSTEM_NAME STREQUAL "Darwin"
|
||||
OR CMAKE_SYSTEM_NAME STREQUAL "Linux")))
|
||||
list(REMOVE_ITEM headers
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/ARAPluginDemo.h")
|
||||
endif()
|
||||
|
||||
if(NOT TARGET juce_vst2_sdk)
|
||||
list(REMOVE_ITEM headers "${CMAKE_CURRENT_SOURCE_DIR}/ReaperEmbeddedViewPluginDemo.h")
|
||||
endif()
|
||||
|
||||
if((CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/WebViewPluginDemo.h")
|
||||
|
||||
if(NOT ("${JUCE_CMAKE_UTILS_DIR}" IN_LIST CMAKE_MODULE_PATH))
|
||||
list(APPEND CMAKE_MODULE_PATH "${JUCE_CMAKE_UTILS_DIR}")
|
||||
endif()
|
||||
|
||||
find_package(WebView2)
|
||||
|
||||
if(NOT WebView2_FOUND)
|
||||
list(REMOVE_ITEM headers "${CMAKE_CURRENT_SOURCE_DIR}/WebViewPluginDemo.h")
|
||||
|
||||
message(WARNING "The WebViewPluginDemo was not enabled because the WebView2 package wasn't found.")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
foreach(header IN ITEMS ${headers})
|
||||
juce_add_pip(${header} added_target)
|
||||
target_link_libraries(${added_target} PUBLIC
|
||||
juce::juce_recommended_config_flags
|
||||
juce::juce_recommended_lto_flags
|
||||
juce::juce_recommended_warning_flags)
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
add_subdirectory(Audio)
|
||||
add_subdirectory(DSP)
|
||||
add_subdirectory(GUI)
|
||||
add_subdirectory(Plugins)
|
||||
add_subdirectory(Utilities)
|
||||
|
|
|
|||
|
|
@ -1,22 +1,22 @@
|
|||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework examples.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# The code included in this file is provided under the terms of the ISC license
|
||||
# http://www.isc.org/downloads/software-support-policy/isc-license. Permission
|
||||
# to use, copy, modify, and/or distribute this software for any purpose with or
|
||||
# without fee is hereby granted provided that the above copyright notice and
|
||||
# this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
# AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
# OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
_juce_add_pips()
|
||||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework examples.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# The code included in this file is provided under the terms of the ISC license
|
||||
# http://www.isc.org/downloads/software-support-policy/isc-license. Permission
|
||||
# to use, copy, modify, and/or distribute this software for any purpose with or
|
||||
# without fee is hereby granted provided that the above copyright notice and
|
||||
# this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
# AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
# OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
_juce_add_pips()
|
||||
|
|
|
|||
|
|
@ -1,86 +1,86 @@
|
|||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework examples.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# The code included in this file is provided under the terms of the ISC license
|
||||
# http://www.isc.org/downloads/software-support-policy/isc-license. Permission
|
||||
# to use, copy, modify, and/or distribute this software for any purpose with or
|
||||
# without fee is hereby granted provided that the above copyright notice and
|
||||
# this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
# AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
# OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
juce_add_gui_app(DemoRunner
|
||||
BUNDLE_ID com.juce.demorunner
|
||||
ICON_BIG ${CMAKE_CURRENT_SOURCE_DIR}/Source/JUCEAppIcon.png
|
||||
NEEDS_CURL TRUE
|
||||
NEEDS_WEB_BROWSER TRUE
|
||||
MICROPHONE_PERMISSION_ENABLED TRUE
|
||||
CAMERA_PERMISSION_ENABLED TRUE
|
||||
BLUETOOTH_PERMISSION_ENABLED TRUE
|
||||
FILE_SHARING_ENABLED TRUE
|
||||
DOCUMENT_BROWSER_ENABLED TRUE
|
||||
REQUIRES_FULL_SCREEN FALSE
|
||||
IPAD_SCREEN_ORIENTATIONS UIInterfaceOrientationPortrait
|
||||
UIInterfaceOrientationPortraitUpsideDown
|
||||
UIInterfaceOrientationLandscapeLeft
|
||||
UIInterfaceOrientationLandscapeRight
|
||||
IPHONE_SCREEN_ORIENTATIONS UIInterfaceOrientationPortrait
|
||||
UIInterfaceOrientationPortraitUpsideDown
|
||||
UIInterfaceOrientationLandscapeLeft
|
||||
UIInterfaceOrientationLandscapeRight)
|
||||
|
||||
juce_generate_juce_header(DemoRunner)
|
||||
|
||||
target_sources(DemoRunner PRIVATE
|
||||
Source/Demos/DemoPIPs1.cpp
|
||||
Source/Demos/DemoPIPs2.cpp
|
||||
Source/Demos/JUCEDemos.cpp
|
||||
Source/Main.cpp
|
||||
Source/UI/DemoContentComponent.cpp
|
||||
Source/UI/MainComponent.cpp)
|
||||
|
||||
target_compile_definitions(DemoRunner PRIVATE
|
||||
PIP_JUCE_EXAMPLES_DIRECTORY_STRING="${JUCE_SOURCE_DIR}/examples"
|
||||
JUCE_ALLOW_STATIC_NULL_VARIABLES=0
|
||||
JUCE_CONTENT_SHARING=1
|
||||
JUCE_DEMO_RUNNER=1
|
||||
JUCE_PLUGINHOST_LV2=1
|
||||
JUCE_PLUGINHOST_VST3=1
|
||||
JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
JUCE_UNIT_TESTS=1
|
||||
JUCE_USE_CAMERA=1
|
||||
JUCE_USE_CURL=1
|
||||
JUCE_USE_MP3AUDIOFORMAT=1
|
||||
JUCE_WEB_BROWSER=1
|
||||
# This is a temporary workaround to allow builds to complete on Xcode 15.
|
||||
# Add -Wl,-ld_classic to the OTHER_LDFLAGS build setting if you need to
|
||||
# deploy to older versions of macOS/iOS.
|
||||
JUCE_SILENCE_XCODE_15_LINKER_WARNING=1)
|
||||
|
||||
target_link_libraries(DemoRunner PRIVATE
|
||||
juce::juce_analytics
|
||||
juce::juce_animation
|
||||
juce::juce_audio_utils
|
||||
juce::juce_box2d
|
||||
juce::juce_dsp
|
||||
juce::juce_opengl
|
||||
juce::juce_osc
|
||||
juce::juce_product_unlocking
|
||||
juce::juce_video
|
||||
juce::juce_recommended_config_flags
|
||||
juce::juce_recommended_lto_flags
|
||||
juce::juce_recommended_warning_flags)
|
||||
|
||||
foreach(folder IN ITEMS ../Assets ../Audio ../DSP ../GUI ../Utilities)
|
||||
juce_add_bundle_resources_directory(DemoRunner ${folder})
|
||||
endforeach()
|
||||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework examples.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# The code included in this file is provided under the terms of the ISC license
|
||||
# http://www.isc.org/downloads/software-support-policy/isc-license. Permission
|
||||
# to use, copy, modify, and/or distribute this software for any purpose with or
|
||||
# without fee is hereby granted provided that the above copyright notice and
|
||||
# this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
# AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
# OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
juce_add_gui_app(DemoRunner
|
||||
BUNDLE_ID com.juce.demorunner
|
||||
ICON_BIG ${CMAKE_CURRENT_SOURCE_DIR}/Source/JUCEAppIcon.png
|
||||
NEEDS_CURL TRUE
|
||||
NEEDS_WEB_BROWSER TRUE
|
||||
MICROPHONE_PERMISSION_ENABLED TRUE
|
||||
CAMERA_PERMISSION_ENABLED TRUE
|
||||
BLUETOOTH_PERMISSION_ENABLED TRUE
|
||||
FILE_SHARING_ENABLED TRUE
|
||||
DOCUMENT_BROWSER_ENABLED TRUE
|
||||
REQUIRES_FULL_SCREEN FALSE
|
||||
IPAD_SCREEN_ORIENTATIONS UIInterfaceOrientationPortrait
|
||||
UIInterfaceOrientationPortraitUpsideDown
|
||||
UIInterfaceOrientationLandscapeLeft
|
||||
UIInterfaceOrientationLandscapeRight
|
||||
IPHONE_SCREEN_ORIENTATIONS UIInterfaceOrientationPortrait
|
||||
UIInterfaceOrientationPortraitUpsideDown
|
||||
UIInterfaceOrientationLandscapeLeft
|
||||
UIInterfaceOrientationLandscapeRight)
|
||||
|
||||
juce_generate_juce_header(DemoRunner)
|
||||
|
||||
target_sources(DemoRunner PRIVATE
|
||||
Source/Demos/DemoPIPs1.cpp
|
||||
Source/Demos/DemoPIPs2.cpp
|
||||
Source/Demos/JUCEDemos.cpp
|
||||
Source/Main.cpp
|
||||
Source/UI/DemoContentComponent.cpp
|
||||
Source/UI/MainComponent.cpp)
|
||||
|
||||
target_compile_definitions(DemoRunner PRIVATE
|
||||
PIP_JUCE_EXAMPLES_DIRECTORY_STRING="${JUCE_SOURCE_DIR}/examples"
|
||||
JUCE_ALLOW_STATIC_NULL_VARIABLES=0
|
||||
JUCE_CONTENT_SHARING=1
|
||||
JUCE_DEMO_RUNNER=1
|
||||
JUCE_PLUGINHOST_LV2=1
|
||||
JUCE_PLUGINHOST_VST3=1
|
||||
JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
JUCE_UNIT_TESTS=1
|
||||
JUCE_USE_CAMERA=1
|
||||
JUCE_USE_CURL=1
|
||||
JUCE_USE_MP3AUDIOFORMAT=1
|
||||
JUCE_WEB_BROWSER=1
|
||||
# This is a temporary workaround to allow builds to complete on Xcode 15.
|
||||
# Add -Wl,-ld_classic to the OTHER_LDFLAGS build setting if you need to
|
||||
# deploy to older versions of macOS/iOS.
|
||||
JUCE_SILENCE_XCODE_15_LINKER_WARNING=1)
|
||||
|
||||
target_link_libraries(DemoRunner PRIVATE
|
||||
juce::juce_analytics
|
||||
juce::juce_animation
|
||||
juce::juce_audio_utils
|
||||
juce::juce_box2d
|
||||
juce::juce_dsp
|
||||
juce::juce_opengl
|
||||
juce::juce_osc
|
||||
juce::juce_product_unlocking
|
||||
juce::juce_video
|
||||
juce::juce_recommended_config_flags
|
||||
juce::juce_recommended_lto_flags
|
||||
juce::juce_recommended_warning_flags)
|
||||
|
||||
foreach(folder IN ITEMS ../Assets ../Audio ../DSP ../GUI ../Utilities)
|
||||
juce_add_bundle_resources_directory(DemoRunner ${folder})
|
||||
endforeach()
|
||||
|
|
|
|||
|
|
@ -1,22 +1,22 @@
|
|||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework examples.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# The code included in this file is provided under the terms of the ISC license
|
||||
# http://www.isc.org/downloads/software-support-policy/isc-license. Permission
|
||||
# to use, copy, modify, and/or distribute this software for any purpose with or
|
||||
# without fee is hereby granted provided that the above copyright notice and
|
||||
# this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
# AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
# OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
_juce_add_pips()
|
||||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework examples.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# The code included in this file is provided under the terms of the ISC license
|
||||
# http://www.isc.org/downloads/software-support-policy/isc-license. Permission
|
||||
# to use, copy, modify, and/or distribute this software for any purpose with or
|
||||
# without fee is hereby granted provided that the above copyright notice and
|
||||
# this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
# AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
# OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
_juce_add_pips()
|
||||
|
|
|
|||
|
|
@ -1,22 +1,22 @@
|
|||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework examples.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# The code included in this file is provided under the terms of the ISC license
|
||||
# http://www.isc.org/downloads/software-support-policy/isc-license. Permission
|
||||
# to use, copy, modify, and/or distribute this software for any purpose with or
|
||||
# without fee is hereby granted provided that the above copyright notice and
|
||||
# this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
# AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
# OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
_juce_add_pips()
|
||||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework examples.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# The code included in this file is provided under the terms of the ISC license
|
||||
# http://www.isc.org/downloads/software-support-policy/isc-license. Permission
|
||||
# to use, copy, modify, and/or distribute this software for any purpose with or
|
||||
# without fee is hereby granted provided that the above copyright notice and
|
||||
# this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
# AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
# OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
_juce_add_pips()
|
||||
|
|
|
|||
|
|
@ -1,22 +1,22 @@
|
|||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework examples.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# The code included in this file is provided under the terms of the ISC license
|
||||
# http://www.isc.org/downloads/software-support-policy/isc-license. Permission
|
||||
# to use, copy, modify, and/or distribute this software for any purpose with or
|
||||
# without fee is hereby granted provided that the above copyright notice and
|
||||
# this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
# AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
# OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
_juce_add_pips()
|
||||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework examples.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# The code included in this file is provided under the terms of the ISC license
|
||||
# http://www.isc.org/downloads/software-support-policy/isc-license. Permission
|
||||
# to use, copy, modify, and/or distribute this software for any purpose with or
|
||||
# without fee is hereby granted provided that the above copyright notice and
|
||||
# this permission notice appear in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
# AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
# OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
_juce_add_pips()
|
||||
|
|
|
|||
|
|
@ -1,47 +1,47 @@
|
|||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
juce_add_gui_app(AudioPerformanceTest BUNDLE_ID com.juce.AudioPerformanceTest)
|
||||
|
||||
juce_generate_juce_header(AudioPerformanceTest)
|
||||
|
||||
target_sources(AudioPerformanceTest PRIVATE
|
||||
Source/Main.cpp)
|
||||
|
||||
target_compile_definitions(AudioPerformanceTest PRIVATE
|
||||
JUCE_USE_CURL=0 JUCE_WEB_BROWSER=0)
|
||||
|
||||
target_link_libraries(AudioPerformanceTest PRIVATE
|
||||
juce::juce_audio_utils
|
||||
juce::juce_recommended_config_flags
|
||||
juce::juce_recommended_lto_flags
|
||||
juce::juce_recommended_warning_flags)
|
||||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
juce_add_gui_app(AudioPerformanceTest BUNDLE_ID com.juce.AudioPerformanceTest)
|
||||
|
||||
juce_generate_juce_header(AudioPerformanceTest)
|
||||
|
||||
target_sources(AudioPerformanceTest PRIVATE
|
||||
Source/Main.cpp)
|
||||
|
||||
target_compile_definitions(AudioPerformanceTest PRIVATE
|
||||
JUCE_USE_CURL=0 JUCE_WEB_BROWSER=0)
|
||||
|
||||
target_link_libraries(AudioPerformanceTest PRIVATE
|
||||
juce::juce_audio_utils
|
||||
juce::juce_recommended_config_flags
|
||||
juce::juce_recommended_lto_flags
|
||||
juce::juce_recommended_warning_flags)
|
||||
|
|
|
|||
|
|
@ -1,93 +1,93 @@
|
|||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
juce_add_gui_app(AudioPluginHost
|
||||
BUNDLE_ID com.juce.pluginhost
|
||||
ICON_BIG "${CMAKE_CURRENT_SOURCE_DIR}/Source/JUCEAppIcon.png"
|
||||
MICROPHONE_PERMISSION_ENABLED TRUE
|
||||
PLUGINHOST_AU TRUE)
|
||||
|
||||
juce_generate_juce_header(AudioPluginHost)
|
||||
|
||||
target_sources(AudioPluginHost PRIVATE
|
||||
Source/HostStartup.cpp
|
||||
Source/Plugins/ARAPlugin.cpp
|
||||
Source/Plugins/IOConfigurationWindow.cpp
|
||||
Source/Plugins/InternalPlugins.cpp
|
||||
Source/Plugins/PluginGraph.cpp
|
||||
Source/UI/GraphEditorPanel.cpp
|
||||
Source/UI/MainHostWindow.cpp)
|
||||
|
||||
juce_add_binary_data(AudioPluginHostData SOURCES
|
||||
../../examples/Assets/cassette_recorder.wav
|
||||
../../examples/Assets/cello.wav
|
||||
../../examples/Assets/guitar_amp.wav
|
||||
../../examples/Assets/proaudio.path
|
||||
../../examples/Assets/reverb_ir.wav
|
||||
../../examples/Assets/singing.ogg)
|
||||
|
||||
target_compile_definitions(AudioPluginHost PRIVATE
|
||||
JUCE_ALSA=1
|
||||
JUCE_CONTENT_SHARING=1
|
||||
JUCE_DIRECTSOUND=1
|
||||
JUCE_DISABLE_CAUTIOUS_PARAMETER_ID_CHECKING=1
|
||||
JUCE_PLUGINHOST_LADSPA=1
|
||||
JUCE_PLUGINHOST_LV2=1
|
||||
JUCE_PLUGINHOST_VST3=1
|
||||
JUCE_PLUGINHOST_VST=0
|
||||
JUCE_PLUGINHOST_ARA=0
|
||||
JUCE_USE_CAMERA=0
|
||||
JUCE_USE_CDBURNER=0
|
||||
JUCE_USE_CDREADER=0
|
||||
JUCE_USE_CURL=0
|
||||
JUCE_USE_FLAC=0
|
||||
JUCE_USE_OGGVORBIS=1
|
||||
JUCE_VST3_HOST_CROSS_PLATFORM_UID=1
|
||||
JUCE_WASAPI=1
|
||||
JUCE_WEB_BROWSER=0
|
||||
PIP_JUCE_EXAMPLES_DIRECTORY_STRING="${JUCE_SOURCE_DIR}/examples"
|
||||
# This is a temporary workaround to allow builds to complete on Xcode 15.
|
||||
# Add -Wl,-ld_classic to the OTHER_LDFLAGS build setting if you need to
|
||||
# deploy to older versions of macOS/iOS.
|
||||
JUCE_SILENCE_XCODE_15_LINKER_WARNING=1)
|
||||
|
||||
target_link_libraries(AudioPluginHost PRIVATE
|
||||
AudioPluginHostData
|
||||
juce::juce_audio_utils
|
||||
juce::juce_cryptography
|
||||
juce::juce_dsp
|
||||
juce::juce_opengl
|
||||
juce::juce_recommended_config_flags
|
||||
juce::juce_recommended_lto_flags
|
||||
juce::juce_recommended_warning_flags)
|
||||
|
||||
juce_add_bundle_resources_directory(AudioPluginHost ../../examples/Assets)
|
||||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
juce_add_gui_app(AudioPluginHost
|
||||
BUNDLE_ID com.juce.pluginhost
|
||||
ICON_BIG "${CMAKE_CURRENT_SOURCE_DIR}/Source/JUCEAppIcon.png"
|
||||
MICROPHONE_PERMISSION_ENABLED TRUE
|
||||
PLUGINHOST_AU TRUE)
|
||||
|
||||
juce_generate_juce_header(AudioPluginHost)
|
||||
|
||||
target_sources(AudioPluginHost PRIVATE
|
||||
Source/HostStartup.cpp
|
||||
Source/Plugins/ARAPlugin.cpp
|
||||
Source/Plugins/IOConfigurationWindow.cpp
|
||||
Source/Plugins/InternalPlugins.cpp
|
||||
Source/Plugins/PluginGraph.cpp
|
||||
Source/UI/GraphEditorPanel.cpp
|
||||
Source/UI/MainHostWindow.cpp)
|
||||
|
||||
juce_add_binary_data(AudioPluginHostData SOURCES
|
||||
../../examples/Assets/cassette_recorder.wav
|
||||
../../examples/Assets/cello.wav
|
||||
../../examples/Assets/guitar_amp.wav
|
||||
../../examples/Assets/proaudio.path
|
||||
../../examples/Assets/reverb_ir.wav
|
||||
../../examples/Assets/singing.ogg)
|
||||
|
||||
target_compile_definitions(AudioPluginHost PRIVATE
|
||||
JUCE_ALSA=1
|
||||
JUCE_CONTENT_SHARING=1
|
||||
JUCE_DIRECTSOUND=1
|
||||
JUCE_DISABLE_CAUTIOUS_PARAMETER_ID_CHECKING=1
|
||||
JUCE_PLUGINHOST_LADSPA=1
|
||||
JUCE_PLUGINHOST_LV2=1
|
||||
JUCE_PLUGINHOST_VST3=1
|
||||
JUCE_PLUGINHOST_VST=0
|
||||
JUCE_PLUGINHOST_ARA=0
|
||||
JUCE_USE_CAMERA=0
|
||||
JUCE_USE_CDBURNER=0
|
||||
JUCE_USE_CDREADER=0
|
||||
JUCE_USE_CURL=0
|
||||
JUCE_USE_FLAC=0
|
||||
JUCE_USE_OGGVORBIS=1
|
||||
JUCE_VST3_HOST_CROSS_PLATFORM_UID=1
|
||||
JUCE_WASAPI=1
|
||||
JUCE_WEB_BROWSER=0
|
||||
PIP_JUCE_EXAMPLES_DIRECTORY_STRING="${JUCE_SOURCE_DIR}/examples"
|
||||
# This is a temporary workaround to allow builds to complete on Xcode 15.
|
||||
# Add -Wl,-ld_classic to the OTHER_LDFLAGS build setting if you need to
|
||||
# deploy to older versions of macOS/iOS.
|
||||
JUCE_SILENCE_XCODE_15_LINKER_WARNING=1)
|
||||
|
||||
target_link_libraries(AudioPluginHost PRIVATE
|
||||
AudioPluginHostData
|
||||
juce::juce_audio_utils
|
||||
juce::juce_cryptography
|
||||
juce::juce_dsp
|
||||
juce::juce_opengl
|
||||
juce::juce_recommended_config_flags
|
||||
juce::juce_recommended_lto_flags
|
||||
juce::juce_recommended_warning_flags)
|
||||
|
||||
juce_add_bundle_resources_directory(AudioPluginHost ../../examples/Assets)
|
||||
|
|
|
|||
|
|
@ -1,50 +1,50 @@
|
|||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
juce_add_console_app(BinaryBuilder)
|
||||
|
||||
juce_generate_juce_header(BinaryBuilder)
|
||||
|
||||
target_sources(BinaryBuilder PRIVATE Source/Main.cpp)
|
||||
|
||||
target_compile_definitions(BinaryBuilder PRIVATE
|
||||
JUCE_USE_CURL=0
|
||||
# This is a temporary workaround to allow builds to complete on Xcode 15.
|
||||
# Add -Wl,-ld_classic to the OTHER_LDFLAGS build setting if you need to
|
||||
# deploy to older versions of macOS/iOS.
|
||||
JUCE_SILENCE_XCODE_15_LINKER_WARNING=1)
|
||||
|
||||
target_link_libraries(BinaryBuilder PRIVATE
|
||||
juce::juce_core
|
||||
juce::juce_recommended_config_flags
|
||||
juce::juce_recommended_lto_flags
|
||||
juce::juce_recommended_warning_flags)
|
||||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
juce_add_console_app(BinaryBuilder)
|
||||
|
||||
juce_generate_juce_header(BinaryBuilder)
|
||||
|
||||
target_sources(BinaryBuilder PRIVATE Source/Main.cpp)
|
||||
|
||||
target_compile_definitions(BinaryBuilder PRIVATE
|
||||
JUCE_USE_CURL=0
|
||||
# This is a temporary workaround to allow builds to complete on Xcode 15.
|
||||
# Add -Wl,-ld_classic to the OTHER_LDFLAGS build setting if you need to
|
||||
# deploy to older versions of macOS/iOS.
|
||||
JUCE_SILENCE_XCODE_15_LINKER_WARNING=1)
|
||||
|
||||
target_link_libraries(BinaryBuilder PRIVATE
|
||||
juce::juce_core
|
||||
juce::juce_recommended_config_flags
|
||||
juce::juce_recommended_lto_flags
|
||||
juce::juce_recommended_warning_flags)
|
||||
|
|
|
|||
|
|
@ -1,94 +1,94 @@
|
|||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
if(JUCE_WEBVIEW2_PACKAGE_LOCATION)
|
||||
set(initial_search_dir ${JUCE_WEBVIEW2_PACKAGE_LOCATION})
|
||||
else()
|
||||
set(initial_search_dir "$ENV{USERPROFILE}/AppData/Local/PackageManagement/NuGet/Packages")
|
||||
endif()
|
||||
|
||||
file(GLOB subdirs "${initial_search_dir}/*Microsoft.Web.WebView2*")
|
||||
|
||||
if(subdirs)
|
||||
list(GET subdirs 0 search_dir)
|
||||
list(LENGTH subdirs num_webview2_packages)
|
||||
|
||||
if(num_webview2_packages GREATER 1)
|
||||
message(WARNING "Multiple WebView2 packages found in the local NuGet folder. Proceeding with ${search_dir}.")
|
||||
endif()
|
||||
|
||||
find_path(WebView2_root_dir build/native/include/WebView2.h HINTS ${search_dir})
|
||||
|
||||
set(WebView2_include_dir "${WebView2_root_dir}/build/native/include")
|
||||
|
||||
if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "arm64")
|
||||
set(WebView2_arch arm64)
|
||||
else()
|
||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
set(WebView2_arch x64)
|
||||
elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
set(WebView2_arch x86)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(WebView2_library "${WebView2_root_dir}/build/native/${WebView2_arch}/WebView2LoaderStatic.lib")
|
||||
elseif(NOT WebView2_FIND_QUIETLY)
|
||||
message(WARNING
|
||||
"WebView2 wasn't found in the the local NuGet folder."
|
||||
"\n"
|
||||
"To install NuGet and the WebView2 package containing the statically linked library, "
|
||||
"open a PowerShell and issue the following commands"
|
||||
"\n"
|
||||
"> Register-PackageSource -provider NuGet -name nugetRepository -location https://www.nuget.org/api/v2\n"
|
||||
"> Install-Package Microsoft.Web.WebView2 -Scope CurrentUser -RequiredVersion 1.0.1901.177 -Source nugetRepository\n"
|
||||
"\n"
|
||||
"Alternatively you can use the JUCE_WEBVIEW2_PACKAGE_LOCATION CMake variable to specify the directory "
|
||||
"where this find script is looking for the *Microsoft.Web.WebView2* package directory.")
|
||||
endif()
|
||||
|
||||
find_package_handle_standard_args(WebView2 DEFAULT_MSG WebView2_include_dir WebView2_library)
|
||||
|
||||
if(WebView2_FOUND)
|
||||
set(WebView2_INCLUDE_DIRS ${WebView2_include_dir})
|
||||
set(WebView2_LIBRARIES ${WebView2_library})
|
||||
|
||||
mark_as_advanced(WebView2_library WebView2_include_dir WebView2_root_dir)
|
||||
|
||||
if(NOT TARGET juce_webview2)
|
||||
add_library(juce_webview2 INTERFACE)
|
||||
add_library(juce::juce_webview2 ALIAS juce_webview2)
|
||||
target_include_directories(juce_webview2 INTERFACE ${WebView2_INCLUDE_DIRS})
|
||||
target_link_libraries(juce_webview2 INTERFACE ${WebView2_LIBRARIES})
|
||||
endif()
|
||||
endif()
|
||||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
if(JUCE_WEBVIEW2_PACKAGE_LOCATION)
|
||||
set(initial_search_dir ${JUCE_WEBVIEW2_PACKAGE_LOCATION})
|
||||
else()
|
||||
set(initial_search_dir "$ENV{USERPROFILE}/AppData/Local/PackageManagement/NuGet/Packages")
|
||||
endif()
|
||||
|
||||
file(GLOB subdirs "${initial_search_dir}/*Microsoft.Web.WebView2*")
|
||||
|
||||
if(subdirs)
|
||||
list(GET subdirs 0 search_dir)
|
||||
list(LENGTH subdirs num_webview2_packages)
|
||||
|
||||
if(num_webview2_packages GREATER 1)
|
||||
message(WARNING "Multiple WebView2 packages found in the local NuGet folder. Proceeding with ${search_dir}.")
|
||||
endif()
|
||||
|
||||
find_path(WebView2_root_dir build/native/include/WebView2.h HINTS ${search_dir})
|
||||
|
||||
set(WebView2_include_dir "${WebView2_root_dir}/build/native/include")
|
||||
|
||||
if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "arm64")
|
||||
set(WebView2_arch arm64)
|
||||
else()
|
||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
set(WebView2_arch x64)
|
||||
elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
set(WebView2_arch x86)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(WebView2_library "${WebView2_root_dir}/build/native/${WebView2_arch}/WebView2LoaderStatic.lib")
|
||||
elseif(NOT WebView2_FIND_QUIETLY)
|
||||
message(WARNING
|
||||
"WebView2 wasn't found in the the local NuGet folder."
|
||||
"\n"
|
||||
"To install NuGet and the WebView2 package containing the statically linked library, "
|
||||
"open a PowerShell and issue the following commands"
|
||||
"\n"
|
||||
"> Register-PackageSource -provider NuGet -name nugetRepository -location https://www.nuget.org/api/v2\n"
|
||||
"> Install-Package Microsoft.Web.WebView2 -Scope CurrentUser -RequiredVersion 1.0.1901.177 -Source nugetRepository\n"
|
||||
"\n"
|
||||
"Alternatively you can use the JUCE_WEBVIEW2_PACKAGE_LOCATION CMake variable to specify the directory "
|
||||
"where this find script is looking for the *Microsoft.Web.WebView2* package directory.")
|
||||
endif()
|
||||
|
||||
find_package_handle_standard_args(WebView2 DEFAULT_MSG WebView2_include_dir WebView2_library)
|
||||
|
||||
if(WebView2_FOUND)
|
||||
set(WebView2_INCLUDE_DIRS ${WebView2_include_dir})
|
||||
set(WebView2_LIBRARIES ${WebView2_library})
|
||||
|
||||
mark_as_advanced(WebView2_library WebView2_include_dir WebView2_root_dir)
|
||||
|
||||
if(NOT TARGET juce_webview2)
|
||||
add_library(juce_webview2 INTERFACE)
|
||||
add_library(juce::juce_webview2 ALIAS juce_webview2)
|
||||
target_include_directories(juce_webview2 INTERFACE ${WebView2_INCLUDE_DIRS})
|
||||
target_link_libraries(juce_webview2 INTERFACE ${WebView2_LIBRARIES})
|
||||
endif()
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -1,129 +1,128 @@
|
|||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
function(_juce_create_atomic_target target_name)
|
||||
add_library("${target_name}" INTERFACE)
|
||||
add_library("juce::${target_name}" ALIAS "${target_name}")
|
||||
|
||||
if(NOT ((CMAKE_SYSTEM_NAME STREQUAL "Linux") OR (CMAKE_SYSTEM_NAME MATCHES ".*BSD")))
|
||||
return()
|
||||
endif()
|
||||
|
||||
set(test_atomic_with_is_lock_free_file_contents
|
||||
[[
|
||||
#include <atomic>
|
||||
|
||||
int main (int argc, char** argv)
|
||||
{
|
||||
std::atomic<long long> ll { static_cast<long long> (argc) };
|
||||
ll ^= static_cast<long long> (ll.is_lock_free());
|
||||
return static_cast<int> (ll);
|
||||
}
|
||||
]])
|
||||
|
||||
set(test_simple_atomic_file_contents
|
||||
[[
|
||||
#include <atomic>
|
||||
|
||||
int main (int argc, char** argv)
|
||||
{
|
||||
std::atomic<long long> ll { static_cast<long long> (argc) };
|
||||
ll ^= 1;
|
||||
return static_cast<int> (ll);
|
||||
}
|
||||
]])
|
||||
|
||||
string(RANDOM LENGTH 16 random_file_string)
|
||||
set(test_file_name "${CMAKE_CURRENT_BINARY_DIR}/check_atomic_${random_file_string}.cpp")
|
||||
|
||||
string(RANDOM LENGTH 16 random_dir_string)
|
||||
set(test_bindir "${CMAKE_CURRENT_BINARY_DIR}/check_atomic_dir_${random_dir_string}")
|
||||
|
||||
file(WRITE "${test_file_name}" "${test_atomic_with_is_lock_free_file_contents}")
|
||||
|
||||
try_compile(compile_result "${test_bindir}" "${test_file_name}"
|
||||
OUTPUT_VARIABLE test_build_output_0
|
||||
CXX_STANDARD 17
|
||||
CXX_STANDARD_REQUIRED TRUE
|
||||
CXX_EXTENSIONS FALSE)
|
||||
|
||||
if(NOT compile_result)
|
||||
try_compile(compile_result "${test_bindir}" "${test_file_name}"
|
||||
OUTPUT_VARIABLE test_build_output_1
|
||||
LINK_LIBRARIES atomic
|
||||
CXX_STANDARD 17
|
||||
CXX_STANDARD_REQUIRED TRUE
|
||||
CXX_EXTENSIONS FALSE)
|
||||
|
||||
if (NOT compile_result)
|
||||
file(WRITE "${test_file_name}" "${test_simple_atomic_file_contents}")
|
||||
|
||||
try_compile(compile_result "${test_bindir}" "${test_file_name}"
|
||||
OUTPUT_VARIABLE test_build_output_2
|
||||
LINK_LIBRARIES atomic
|
||||
CXX_STANDARD 17
|
||||
CXX_STANDARD_REQUIRED TRUE
|
||||
CXX_EXTENSIONS FALSE)
|
||||
|
||||
if (NOT compile_result)
|
||||
message(FATAL_ERROR
|
||||
"First build output:\n"
|
||||
"${test_build_output_0}"
|
||||
"\n\nSecond build output:\n"
|
||||
"${test_build_output_1}"
|
||||
"\n\nThird build output:\n"
|
||||
"${test_build_output_2}"
|
||||
"\n\nJUCE requires support for std::atomic, but this system cannot "
|
||||
"successfully compile a program which uses std::atomic. "
|
||||
"You may need to install a dedicated libatomic package using your "
|
||||
"system's package manager.")
|
||||
else()
|
||||
message(WARNING
|
||||
"First build output:\n"
|
||||
"${test_build_output_0}"
|
||||
"\n\nSecond build output:\n"
|
||||
"${test_build_output_1}"
|
||||
"\n\nIf you are seeing this warning it means that the libatomic library"
|
||||
"on this system doesn't support is_lock_free."
|
||||
"Please let the JUCE team know.")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
target_link_libraries("${target_name}" INTERFACE atomic)
|
||||
endif()
|
||||
|
||||
file(REMOVE "${test_file_name}")
|
||||
file(REMOVE_RECURSE "${test_bindir}")
|
||||
endfunction()
|
||||
|
||||
_juce_create_atomic_target(juce_atomic_wrapper)
|
||||
|
||||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
function(_juce_create_atomic_target target_name)
|
||||
add_library("${target_name}" INTERFACE)
|
||||
add_library("juce::${target_name}" ALIAS "${target_name}")
|
||||
|
||||
if(NOT ((CMAKE_SYSTEM_NAME STREQUAL "Linux") OR (CMAKE_SYSTEM_NAME MATCHES ".*BSD")))
|
||||
return()
|
||||
endif()
|
||||
|
||||
set(test_atomic_with_is_lock_free_file_contents
|
||||
[[
|
||||
#include <atomic>
|
||||
|
||||
int main (int argc, char** argv)
|
||||
{
|
||||
std::atomic<long long> ll { static_cast<long long> (argc) };
|
||||
ll ^= static_cast<long long> (ll.is_lock_free());
|
||||
return static_cast<int> (ll);
|
||||
}
|
||||
]])
|
||||
|
||||
set(test_simple_atomic_file_contents
|
||||
[[
|
||||
#include <atomic>
|
||||
|
||||
int main (int argc, char** argv)
|
||||
{
|
||||
std::atomic<long long> ll { static_cast<long long> (argc) };
|
||||
ll ^= 1;
|
||||
return static_cast<int> (ll);
|
||||
}
|
||||
]])
|
||||
|
||||
string(RANDOM LENGTH 16 random_file_string)
|
||||
set(test_file_name "${CMAKE_CURRENT_BINARY_DIR}/check_atomic_${random_file_string}.cpp")
|
||||
|
||||
string(RANDOM LENGTH 16 random_dir_string)
|
||||
set(test_bindir "${CMAKE_CURRENT_BINARY_DIR}/check_atomic_dir_${random_dir_string}")
|
||||
|
||||
file(WRITE "${test_file_name}" "${test_atomic_with_is_lock_free_file_contents}")
|
||||
|
||||
try_compile(compile_result "${test_bindir}" "${test_file_name}"
|
||||
OUTPUT_VARIABLE test_build_output_0
|
||||
CXX_STANDARD 17
|
||||
CXX_STANDARD_REQUIRED TRUE
|
||||
CXX_EXTENSIONS FALSE)
|
||||
|
||||
if(NOT compile_result)
|
||||
try_compile(compile_result "${test_bindir}" "${test_file_name}"
|
||||
OUTPUT_VARIABLE test_build_output_1
|
||||
LINK_LIBRARIES atomic
|
||||
CXX_STANDARD 17
|
||||
CXX_STANDARD_REQUIRED TRUE
|
||||
CXX_EXTENSIONS FALSE)
|
||||
|
||||
if (NOT compile_result)
|
||||
file(WRITE "${test_file_name}" "${test_simple_atomic_file_contents}")
|
||||
|
||||
try_compile(compile_result "${test_bindir}" "${test_file_name}"
|
||||
OUTPUT_VARIABLE test_build_output_2
|
||||
LINK_LIBRARIES atomic
|
||||
CXX_STANDARD 17
|
||||
CXX_STANDARD_REQUIRED TRUE
|
||||
CXX_EXTENSIONS FALSE)
|
||||
|
||||
if (NOT compile_result)
|
||||
message(FATAL_ERROR
|
||||
"First build output:\n"
|
||||
"${test_build_output_0}"
|
||||
"\n\nSecond build output:\n"
|
||||
"${test_build_output_1}"
|
||||
"\n\nThird build output:\n"
|
||||
"${test_build_output_2}"
|
||||
"\n\nJUCE requires support for std::atomic, but this system cannot "
|
||||
"successfully compile a program which uses std::atomic. "
|
||||
"You may need to install a dedicated libatomic package using your "
|
||||
"system's package manager.")
|
||||
else()
|
||||
message(WARNING
|
||||
"First build output:\n"
|
||||
"${test_build_output_0}"
|
||||
"\n\nSecond build output:\n"
|
||||
"${test_build_output_1}"
|
||||
"\n\nIf you are seeing this warning it means that the libatomic library"
|
||||
"on this system doesn't support is_lock_free."
|
||||
"Please let the JUCE team know.")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
target_link_libraries("${target_name}" INTERFACE atomic)
|
||||
endif()
|
||||
|
||||
file(REMOVE "${test_file_name}")
|
||||
file(REMOVE_RECURSE "${test_bindir}")
|
||||
endfunction()
|
||||
|
||||
_juce_create_atomic_target(juce_atomic_wrapper)
|
||||
|
|
|
|||
|
|
@ -1,151 +1,151 @@
|
|||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
add_library(juce_recommended_warning_flags INTERFACE)
|
||||
add_library(juce::juce_recommended_warning_flags ALIAS juce_recommended_warning_flags)
|
||||
|
||||
function(_juce_get_debug_config_genex result)
|
||||
get_property(debug_configs GLOBAL PROPERTY DEBUG_CONFIGURATIONS)
|
||||
if(NOT debug_configs)
|
||||
set(debug_configs Debug)
|
||||
endif()
|
||||
list(TRANSFORM debug_configs REPLACE [[^.+$]] [[$<CONFIG:\0>]])
|
||||
list(JOIN debug_configs "," debug_configs)
|
||||
# $<CONFIG> doesn't accept multiple configurations until CMake 3.19
|
||||
set(${result} "$<OR:${debug_configs}>" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
# ==================================================================================================
|
||||
|
||||
if((CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") OR (CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC"))
|
||||
target_compile_options(juce_recommended_warning_flags INTERFACE "/W4")
|
||||
elseif((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang"))
|
||||
target_compile_options(juce_recommended_warning_flags INTERFACE
|
||||
-Wall
|
||||
-Wshadow-all
|
||||
-Wshorten-64-to-32
|
||||
-Wstrict-aliasing
|
||||
-Wuninitialized
|
||||
-Wunused-parameter
|
||||
-Wconversion
|
||||
-Wsign-compare
|
||||
-Wint-conversion
|
||||
-Wconditional-uninitialized
|
||||
-Wconstant-conversion
|
||||
-Wsign-conversion
|
||||
-Wbool-conversion
|
||||
-Wextra-semi
|
||||
-Wunreachable-code
|
||||
-Wcast-align
|
||||
-Wshift-sign-overflow
|
||||
-Wmissing-prototypes
|
||||
-Wnullable-to-nonnull-conversion
|
||||
-Wno-ignored-qualifiers
|
||||
-Wswitch-enum
|
||||
-Wpedantic
|
||||
-Wdeprecated
|
||||
-Wfloat-equal
|
||||
-Wmissing-field-initializers
|
||||
$<$<OR:$<COMPILE_LANGUAGE:CXX>,$<COMPILE_LANGUAGE:OBJCXX>>:
|
||||
-Wzero-as-null-pointer-constant
|
||||
-Wunused-private-field
|
||||
-Woverloaded-virtual
|
||||
-Wreorder
|
||||
-Winconsistent-missing-destructor-override>
|
||||
$<$<OR:$<COMPILE_LANGUAGE:OBJC>,$<COMPILE_LANGUAGE:OBJCXX>>:
|
||||
-Wunguarded-availability
|
||||
-Wunguarded-availability-new>)
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
target_compile_options(juce_recommended_warning_flags INTERFACE
|
||||
-Wall
|
||||
-Wextra
|
||||
-Wpedantic
|
||||
-Wstrict-aliasing
|
||||
-Wuninitialized
|
||||
-Wunused-parameter
|
||||
-Wsign-compare
|
||||
-Wsign-conversion
|
||||
-Wunreachable-code
|
||||
-Wcast-align
|
||||
-Wno-implicit-fallthrough
|
||||
-Wno-maybe-uninitialized
|
||||
-Wno-ignored-qualifiers
|
||||
-Wno-multichar
|
||||
-Wswitch-enum
|
||||
-Wredundant-decls
|
||||
-Wno-strict-overflow
|
||||
-Wshadow
|
||||
-Wfloat-equal
|
||||
-Wmissing-field-initializers
|
||||
$<$<COMPILE_LANGUAGE:CXX>:
|
||||
-Woverloaded-virtual
|
||||
-Wreorder
|
||||
-Wzero-as-null-pointer-constant>)
|
||||
endif()
|
||||
|
||||
# ==================================================================================================
|
||||
|
||||
add_library(juce_recommended_config_flags INTERFACE)
|
||||
add_library(juce::juce_recommended_config_flags ALIAS juce_recommended_config_flags)
|
||||
|
||||
if((CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") OR (CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC"))
|
||||
_juce_get_debug_config_genex(debug_config)
|
||||
target_compile_options(juce_recommended_config_flags INTERFACE
|
||||
$<IF:${debug_config},/Od /Zi,/Ox> $<$<STREQUAL:"${CMAKE_CXX_COMPILER_ID}","MSVC">:/MP> /EHsc)
|
||||
elseif((CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||
OR (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
||||
OR (CMAKE_CXX_COMPILER_ID STREQUAL "GNU"))
|
||||
_juce_get_debug_config_genex(debug_config)
|
||||
target_compile_options(juce_recommended_config_flags INTERFACE
|
||||
$<${debug_config}:-g -O0>
|
||||
$<$<CONFIG:Release>:-O3>)
|
||||
endif()
|
||||
|
||||
# ==================================================================================================
|
||||
|
||||
add_library(juce_recommended_lto_flags INTERFACE)
|
||||
add_library(juce::juce_recommended_lto_flags ALIAS juce_recommended_lto_flags)
|
||||
|
||||
if((CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") OR (CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC"))
|
||||
target_compile_options(juce_recommended_lto_flags INTERFACE
|
||||
$<$<CONFIG:Release>:$<IF:$<STREQUAL:"${CMAKE_CXX_COMPILER_ID}","MSVC">,-GL,-flto>>)
|
||||
target_link_libraries(juce_recommended_lto_flags INTERFACE
|
||||
$<$<CONFIG:Release>:$<$<STREQUAL:"${CMAKE_CXX_COMPILER_ID}","MSVC">:-LTCG>>)
|
||||
elseif((NOT MINGW) AND ((CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||
OR (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
||||
OR (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")))
|
||||
target_compile_options(juce_recommended_lto_flags INTERFACE $<$<CONFIG:Release>:-flto>)
|
||||
target_link_libraries(juce_recommended_lto_flags INTERFACE $<$<CONFIG:Release>:-flto>)
|
||||
# Xcode 15.0 requires this flag to avoid a compiler bug
|
||||
target_link_libraries(juce_recommended_lto_flags INTERFACE
|
||||
$<$<CONFIG:Release>:$<$<STREQUAL:"${CMAKE_CXX_COMPILER_ID}","AppleClang">:-Wl,-weak_reference_mismatches,weak>>)
|
||||
endif()
|
||||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
add_library(juce_recommended_warning_flags INTERFACE)
|
||||
add_library(juce::juce_recommended_warning_flags ALIAS juce_recommended_warning_flags)
|
||||
|
||||
function(_juce_get_debug_config_genex result)
|
||||
get_property(debug_configs GLOBAL PROPERTY DEBUG_CONFIGURATIONS)
|
||||
if(NOT debug_configs)
|
||||
set(debug_configs Debug)
|
||||
endif()
|
||||
list(TRANSFORM debug_configs REPLACE [[^.+$]] [[$<CONFIG:\0>]])
|
||||
list(JOIN debug_configs "," debug_configs)
|
||||
# $<CONFIG> doesn't accept multiple configurations until CMake 3.19
|
||||
set(${result} "$<OR:${debug_configs}>" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
# ==================================================================================================
|
||||
|
||||
if((CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") OR (CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC"))
|
||||
target_compile_options(juce_recommended_warning_flags INTERFACE "/W4")
|
||||
elseif((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang"))
|
||||
target_compile_options(juce_recommended_warning_flags INTERFACE
|
||||
-Wall
|
||||
-Wshadow-all
|
||||
-Wshorten-64-to-32
|
||||
-Wstrict-aliasing
|
||||
-Wuninitialized
|
||||
-Wunused-parameter
|
||||
-Wconversion
|
||||
-Wsign-compare
|
||||
-Wint-conversion
|
||||
-Wconditional-uninitialized
|
||||
-Wconstant-conversion
|
||||
-Wsign-conversion
|
||||
-Wbool-conversion
|
||||
-Wextra-semi
|
||||
-Wunreachable-code
|
||||
-Wcast-align
|
||||
-Wshift-sign-overflow
|
||||
-Wmissing-prototypes
|
||||
-Wnullable-to-nonnull-conversion
|
||||
-Wno-ignored-qualifiers
|
||||
-Wswitch-enum
|
||||
-Wpedantic
|
||||
-Wdeprecated
|
||||
-Wfloat-equal
|
||||
-Wmissing-field-initializers
|
||||
$<$<OR:$<COMPILE_LANGUAGE:CXX>,$<COMPILE_LANGUAGE:OBJCXX>>:
|
||||
-Wzero-as-null-pointer-constant
|
||||
-Wunused-private-field
|
||||
-Woverloaded-virtual
|
||||
-Wreorder
|
||||
-Winconsistent-missing-destructor-override>
|
||||
$<$<OR:$<COMPILE_LANGUAGE:OBJC>,$<COMPILE_LANGUAGE:OBJCXX>>:
|
||||
-Wunguarded-availability
|
||||
-Wunguarded-availability-new>)
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
target_compile_options(juce_recommended_warning_flags INTERFACE
|
||||
-Wall
|
||||
-Wextra
|
||||
-Wpedantic
|
||||
-Wstrict-aliasing
|
||||
-Wuninitialized
|
||||
-Wunused-parameter
|
||||
-Wsign-compare
|
||||
-Wsign-conversion
|
||||
-Wunreachable-code
|
||||
-Wcast-align
|
||||
-Wno-implicit-fallthrough
|
||||
-Wno-maybe-uninitialized
|
||||
-Wno-ignored-qualifiers
|
||||
-Wno-multichar
|
||||
-Wswitch-enum
|
||||
-Wredundant-decls
|
||||
-Wno-strict-overflow
|
||||
-Wshadow
|
||||
-Wfloat-equal
|
||||
-Wmissing-field-initializers
|
||||
$<$<COMPILE_LANGUAGE:CXX>:
|
||||
-Woverloaded-virtual
|
||||
-Wreorder
|
||||
-Wzero-as-null-pointer-constant>)
|
||||
endif()
|
||||
|
||||
# ==================================================================================================
|
||||
|
||||
add_library(juce_recommended_config_flags INTERFACE)
|
||||
add_library(juce::juce_recommended_config_flags ALIAS juce_recommended_config_flags)
|
||||
|
||||
if((CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") OR (CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC"))
|
||||
_juce_get_debug_config_genex(debug_config)
|
||||
target_compile_options(juce_recommended_config_flags INTERFACE
|
||||
$<IF:${debug_config},/Od /Zi,/Ox> $<$<STREQUAL:"${CMAKE_CXX_COMPILER_ID}","MSVC">:/MP> /EHsc)
|
||||
elseif((CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||
OR (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
||||
OR (CMAKE_CXX_COMPILER_ID STREQUAL "GNU"))
|
||||
_juce_get_debug_config_genex(debug_config)
|
||||
target_compile_options(juce_recommended_config_flags INTERFACE
|
||||
$<${debug_config}:-g -O0>
|
||||
$<$<CONFIG:Release>:-O3>)
|
||||
endif()
|
||||
|
||||
# ==================================================================================================
|
||||
|
||||
add_library(juce_recommended_lto_flags INTERFACE)
|
||||
add_library(juce::juce_recommended_lto_flags ALIAS juce_recommended_lto_flags)
|
||||
|
||||
if((CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") OR (CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC"))
|
||||
target_compile_options(juce_recommended_lto_flags INTERFACE
|
||||
$<$<CONFIG:Release>:$<IF:$<STREQUAL:"${CMAKE_CXX_COMPILER_ID}","MSVC">,-GL,-flto>>)
|
||||
target_link_libraries(juce_recommended_lto_flags INTERFACE
|
||||
$<$<CONFIG:Release>:$<$<STREQUAL:"${CMAKE_CXX_COMPILER_ID}","MSVC">:-LTCG>>)
|
||||
elseif((NOT MINGW) AND ((CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||
OR (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
||||
OR (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")))
|
||||
target_compile_options(juce_recommended_lto_flags INTERFACE $<$<CONFIG:Release>:-flto>)
|
||||
target_link_libraries(juce_recommended_lto_flags INTERFACE $<$<CONFIG:Release>:-flto>)
|
||||
# Xcode 15.0 requires this flag to avoid a compiler bug
|
||||
target_link_libraries(juce_recommended_lto_flags INTERFACE
|
||||
$<$<CONFIG:Release>:$<$<STREQUAL:"${CMAKE_CXX_COMPILER_ID}","AppleClang">:-Wl,-weak_reference_mismatches,weak>>)
|
||||
endif()
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,46 +1,46 @@
|
|||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
find_program(JUCE_XCRUN xcrun)
|
||||
|
||||
if(NOT JUCE_XCRUN)
|
||||
return()
|
||||
endif()
|
||||
|
||||
execute_process(
|
||||
COMMAND "${JUCE_XCRUN}" codesign --verify "${src}"
|
||||
RESULT_VARIABLE result)
|
||||
|
||||
if(result)
|
||||
message(STATUS "Replacing invalid signature with ad-hoc signature")
|
||||
execute_process(COMMAND "${JUCE_XCRUN}" codesign -f -s - "${src}")
|
||||
endif()
|
||||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
find_program(JUCE_XCRUN xcrun)
|
||||
|
||||
if(NOT JUCE_XCRUN)
|
||||
return()
|
||||
endif()
|
||||
|
||||
execute_process(
|
||||
COMMAND "${JUCE_XCRUN}" codesign --verify "${src}"
|
||||
RESULT_VARIABLE result)
|
||||
|
||||
if(result)
|
||||
message(STATUS "Replacing invalid signature with ad-hoc signature")
|
||||
execute_process(COMMAND "${JUCE_XCRUN}" codesign -f -s - "${src}")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -1,45 +1,45 @@
|
|||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
if(NOT EXISTS "${src}")
|
||||
message(STATUS "Unable to copy ${src} as it does not exist")
|
||||
return()
|
||||
endif()
|
||||
|
||||
get_filename_component(name "${src}" NAME)
|
||||
|
||||
if(EXISTS "${dest}/${name}")
|
||||
message(STATUS "Destination ${dest}/${name} exists, overwriting")
|
||||
file(REMOVE_RECURSE "${dest}/${name}")
|
||||
endif()
|
||||
|
||||
file(INSTALL ${src} DESTINATION ${dest} USE_SOURCE_PERMISSIONS)
|
||||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
if(NOT EXISTS "${src}")
|
||||
message(STATUS "Unable to copy ${src} as it does not exist")
|
||||
return()
|
||||
endif()
|
||||
|
||||
get_filename_component(name "${src}" NAME)
|
||||
|
||||
if(EXISTS "${dest}/${name}")
|
||||
message(STATUS "Destination ${dest}/${name} exists, overwriting")
|
||||
file(REMOVE_RECURSE "${dest}/${name}")
|
||||
endif()
|
||||
|
||||
file(INSTALL ${src} DESTINATION ${dest} USE_SOURCE_PERMISSIONS)
|
||||
|
|
|
|||
|
|
@ -1,36 +1,35 @@
|
|||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
juce_add_module(juce_build_tools ALIAS_NAMESPACE juce)
|
||||
|
||||
add_subdirectory(juceaide)
|
||||
|
||||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
juce_add_module(juce_build_tools ALIAS_NAMESPACE juce)
|
||||
|
||||
add_subdirectory(juceaide)
|
||||
|
|
|
|||
|
|
@ -1,176 +1,176 @@
|
|||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
# The juceaide program generates intermediate build files including BinaryData sources, icons, and
|
||||
# plists. To ensure that we always build it for the host system, and not for, say, a device or
|
||||
# simulator if we're targeting iOS or Android, we reinvoke cmake here and build juceaide during the
|
||||
# configuration stage of the outer project.
|
||||
|
||||
if(JUCE_BUILD_HELPER_TOOLS)
|
||||
# Build the tool for the current system
|
||||
juce_add_console_app(juceaide _NO_RESOURCERC)
|
||||
|
||||
target_sources(juceaide PRIVATE Main.cpp)
|
||||
|
||||
target_compile_definitions(juceaide PRIVATE
|
||||
JUCE_DISABLE_JUCE_VERSION_PRINTING=1
|
||||
JUCE_USE_CURL=0
|
||||
# This is a temporary workaround to allow builds to complete on Xcode 15.
|
||||
# Add -Wl,-ld_classic to the OTHER_LDFLAGS build setting if you need to
|
||||
# deploy to older versions of macOS.
|
||||
JUCE_SILENCE_XCODE_15_LINKER_WARNING=1)
|
||||
|
||||
target_link_libraries(juceaide PRIVATE
|
||||
juce::juce_build_tools
|
||||
juce::juce_recommended_config_flags
|
||||
juce::juce_recommended_lto_flags
|
||||
juce::juce_recommended_warning_flags)
|
||||
|
||||
set_target_properties(juceaide PROPERTIES
|
||||
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||
|
||||
export(TARGETS juceaide
|
||||
NAMESPACE juce_tools::
|
||||
FILE "${JUCE_BINARY_DIR}/JUCEToolsExport.cmake")
|
||||
else()
|
||||
message(STATUS "Configuring juceaide")
|
||||
|
||||
if(CMAKE_CROSSCOMPILING)
|
||||
unset(ENV{ADDR2LINE})
|
||||
unset(ENV{AR})
|
||||
unset(ENV{ASM})
|
||||
unset(ENV{AS})
|
||||
unset(ENV{CC})
|
||||
unset(ENV{CPP})
|
||||
unset(ENV{CXXFILT})
|
||||
unset(ENV{CXX})
|
||||
unset(ENV{DLLTOOL})
|
||||
unset(ENV{DLLWRAP})
|
||||
unset(ENV{ELFEDIT})
|
||||
unset(ENV{GCC})
|
||||
unset(ENV{GCOV_DUMP})
|
||||
unset(ENV{GCOV_TOOL})
|
||||
unset(ENV{GCOV})
|
||||
unset(ENV{GPROF})
|
||||
unset(ENV{GXX})
|
||||
unset(ENV{LDFLAGS})
|
||||
unset(ENV{LD_BFD})
|
||||
unset(ENV{LD})
|
||||
unset(ENV{LTO_DUMP})
|
||||
unset(ENV{NM})
|
||||
unset(ENV{OBJCOPY})
|
||||
unset(ENV{OBJDUMP})
|
||||
unset(ENV{PKG_CONFIG_LIBDIR})
|
||||
unset(ENV{PKG_CONFIG})
|
||||
unset(ENV{RANLIB})
|
||||
unset(ENV{RC})
|
||||
unset(ENV{READELF})
|
||||
unset(ENV{SIZE})
|
||||
unset(ENV{STRINGS})
|
||||
unset(ENV{STRIP})
|
||||
unset(ENV{WIDL})
|
||||
unset(ENV{WINDMC})
|
||||
unset(ENV{WINDRES})
|
||||
|
||||
if(DEFINED ENV{PATH_ORIG})
|
||||
set(ENV{PATH} "$ENV{PATH_ORIG}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Generator platform is only supported on specific generators
|
||||
if(CMAKE_GENERATOR MATCHES "^Visual Studio.*$")
|
||||
set(ENV{CMAKE_GENERATOR_PLATFORM} "${CMAKE_HOST_SYSTEM_PROCESSOR}")
|
||||
endif()
|
||||
|
||||
# Looks like we're bootstrapping, reinvoke CMake
|
||||
execute_process(COMMAND "${CMAKE_COMMAND}"
|
||||
"."
|
||||
"-B${JUCE_BINARY_DIR}/tools"
|
||||
"-G${CMAKE_GENERATOR}"
|
||||
"-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}"
|
||||
"-DCMAKE_BUILD_TYPE=Debug"
|
||||
"-DJUCE_BUILD_HELPER_TOOLS=ON"
|
||||
"-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}"
|
||||
WORKING_DIRECTORY "${JUCE_SOURCE_DIR}"
|
||||
OUTPUT_VARIABLE command_output
|
||||
ERROR_VARIABLE command_output
|
||||
RESULT_VARIABLE result_variable)
|
||||
|
||||
if(result_variable)
|
||||
message(FATAL_ERROR "Failed to configure juceaide\n${command_output}")
|
||||
endif()
|
||||
|
||||
message(STATUS "Building juceaide")
|
||||
|
||||
execute_process(COMMAND "${CMAKE_COMMAND}"
|
||||
--build "${JUCE_BINARY_DIR}/tools"
|
||||
--config Debug
|
||||
OUTPUT_VARIABLE command_output
|
||||
ERROR_VARIABLE command_output
|
||||
RESULT_VARIABLE result_variable)
|
||||
|
||||
if(result_variable)
|
||||
message(FATAL_ERROR "Failed to build juceaide\n${command_output}")
|
||||
endif()
|
||||
|
||||
message(STATUS "Exporting juceaide")
|
||||
|
||||
# This will be generated by the recursive invocation of CMake (above)
|
||||
include("${JUCE_BINARY_DIR}/tools/JUCEToolsExport.cmake")
|
||||
|
||||
add_executable(juceaide IMPORTED GLOBAL)
|
||||
get_target_property(imported_location juce_tools::juceaide IMPORTED_LOCATION_DEBUG)
|
||||
set_target_properties(juceaide PROPERTIES IMPORTED_LOCATION "${imported_location}")
|
||||
|
||||
add_executable(juce::juceaide ALIAS juceaide)
|
||||
|
||||
set(JUCE_TOOL_INSTALL_DIR "bin/JUCE-${JUCE_VERSION}" CACHE STRING
|
||||
"The location, relative to the install prefix, where juceaide will be installed")
|
||||
|
||||
install(PROGRAMS "${imported_location}" DESTINATION "${JUCE_TOOL_INSTALL_DIR}")
|
||||
|
||||
get_filename_component(binary_name "${imported_location}" NAME)
|
||||
set(JUCE_JUCEAIDE_NAME "${binary_name}" CACHE INTERNAL "The name of the juceaide program")
|
||||
|
||||
message(STATUS "Testing juceaide")
|
||||
|
||||
execute_process(COMMAND "${imported_location}" version
|
||||
RESULT_VARIABLE result_variable
|
||||
OUTPUT_VARIABLE output
|
||||
ERROR_VARIABLE output)
|
||||
|
||||
if(result_variable)
|
||||
message(FATAL_ERROR "Testing juceaide failed:\noutput: ${output}")
|
||||
endif()
|
||||
|
||||
message(STATUS "Finished setting up juceaide")
|
||||
endif()
|
||||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
# The juceaide program generates intermediate build files including BinaryData sources, icons, and
|
||||
# plists. To ensure that we always build it for the host system, and not for, say, a device or
|
||||
# simulator if we're targeting iOS or Android, we reinvoke cmake here and build juceaide during the
|
||||
# configuration stage of the outer project.
|
||||
|
||||
if(JUCE_BUILD_HELPER_TOOLS)
|
||||
# Build the tool for the current system
|
||||
juce_add_console_app(juceaide _NO_RESOURCERC)
|
||||
|
||||
target_sources(juceaide PRIVATE Main.cpp)
|
||||
|
||||
target_compile_definitions(juceaide PRIVATE
|
||||
JUCE_DISABLE_JUCE_VERSION_PRINTING=1
|
||||
JUCE_USE_CURL=0
|
||||
# This is a temporary workaround to allow builds to complete on Xcode 15.
|
||||
# Add -Wl,-ld_classic to the OTHER_LDFLAGS build setting if you need to
|
||||
# deploy to older versions of macOS.
|
||||
JUCE_SILENCE_XCODE_15_LINKER_WARNING=1)
|
||||
|
||||
target_link_libraries(juceaide PRIVATE
|
||||
juce::juce_build_tools
|
||||
juce::juce_recommended_config_flags
|
||||
juce::juce_recommended_lto_flags
|
||||
juce::juce_recommended_warning_flags)
|
||||
|
||||
set_target_properties(juceaide PROPERTIES
|
||||
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||
|
||||
export(TARGETS juceaide
|
||||
NAMESPACE juce_tools::
|
||||
FILE "${JUCE_BINARY_DIR}/JUCEToolsExport.cmake")
|
||||
else()
|
||||
message(STATUS "Configuring juceaide")
|
||||
|
||||
if(CMAKE_CROSSCOMPILING)
|
||||
unset(ENV{ADDR2LINE})
|
||||
unset(ENV{AR})
|
||||
unset(ENV{ASM})
|
||||
unset(ENV{AS})
|
||||
unset(ENV{CC})
|
||||
unset(ENV{CPP})
|
||||
unset(ENV{CXXFILT})
|
||||
unset(ENV{CXX})
|
||||
unset(ENV{DLLTOOL})
|
||||
unset(ENV{DLLWRAP})
|
||||
unset(ENV{ELFEDIT})
|
||||
unset(ENV{GCC})
|
||||
unset(ENV{GCOV_DUMP})
|
||||
unset(ENV{GCOV_TOOL})
|
||||
unset(ENV{GCOV})
|
||||
unset(ENV{GPROF})
|
||||
unset(ENV{GXX})
|
||||
unset(ENV{LDFLAGS})
|
||||
unset(ENV{LD_BFD})
|
||||
unset(ENV{LD})
|
||||
unset(ENV{LTO_DUMP})
|
||||
unset(ENV{NM})
|
||||
unset(ENV{OBJCOPY})
|
||||
unset(ENV{OBJDUMP})
|
||||
unset(ENV{PKG_CONFIG_LIBDIR})
|
||||
unset(ENV{PKG_CONFIG})
|
||||
unset(ENV{RANLIB})
|
||||
unset(ENV{RC})
|
||||
unset(ENV{READELF})
|
||||
unset(ENV{SIZE})
|
||||
unset(ENV{STRINGS})
|
||||
unset(ENV{STRIP})
|
||||
unset(ENV{WIDL})
|
||||
unset(ENV{WINDMC})
|
||||
unset(ENV{WINDRES})
|
||||
|
||||
if(DEFINED ENV{PATH_ORIG})
|
||||
set(ENV{PATH} "$ENV{PATH_ORIG}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Generator platform is only supported on specific generators
|
||||
if(CMAKE_GENERATOR MATCHES "^Visual Studio.*$")
|
||||
set(ENV{CMAKE_GENERATOR_PLATFORM} "${CMAKE_HOST_SYSTEM_PROCESSOR}")
|
||||
endif()
|
||||
|
||||
# Looks like we're bootstrapping, reinvoke CMake
|
||||
execute_process(COMMAND "${CMAKE_COMMAND}"
|
||||
"."
|
||||
"-B${JUCE_BINARY_DIR}/tools"
|
||||
"-G${CMAKE_GENERATOR}"
|
||||
"-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}"
|
||||
"-DCMAKE_BUILD_TYPE=Debug"
|
||||
"-DJUCE_BUILD_HELPER_TOOLS=ON"
|
||||
"-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}"
|
||||
WORKING_DIRECTORY "${JUCE_SOURCE_DIR}"
|
||||
OUTPUT_VARIABLE command_output
|
||||
ERROR_VARIABLE command_output
|
||||
RESULT_VARIABLE result_variable)
|
||||
|
||||
if(result_variable)
|
||||
message(FATAL_ERROR "Failed to configure juceaide\n${command_output}")
|
||||
endif()
|
||||
|
||||
message(STATUS "Building juceaide")
|
||||
|
||||
execute_process(COMMAND "${CMAKE_COMMAND}"
|
||||
--build "${JUCE_BINARY_DIR}/tools"
|
||||
--config Debug
|
||||
OUTPUT_VARIABLE command_output
|
||||
ERROR_VARIABLE command_output
|
||||
RESULT_VARIABLE result_variable)
|
||||
|
||||
if(result_variable)
|
||||
message(FATAL_ERROR "Failed to build juceaide\n${command_output}")
|
||||
endif()
|
||||
|
||||
message(STATUS "Exporting juceaide")
|
||||
|
||||
# This will be generated by the recursive invocation of CMake (above)
|
||||
include("${JUCE_BINARY_DIR}/tools/JUCEToolsExport.cmake")
|
||||
|
||||
add_executable(juceaide IMPORTED GLOBAL)
|
||||
get_target_property(imported_location juce_tools::juceaide IMPORTED_LOCATION_DEBUG)
|
||||
set_target_properties(juceaide PROPERTIES IMPORTED_LOCATION "${imported_location}")
|
||||
|
||||
add_executable(juce::juceaide ALIAS juceaide)
|
||||
|
||||
set(JUCE_TOOL_INSTALL_DIR "bin/JUCE-${JUCE_VERSION}" CACHE STRING
|
||||
"The location, relative to the install prefix, where juceaide will be installed")
|
||||
|
||||
install(PROGRAMS "${imported_location}" DESTINATION "${JUCE_TOOL_INSTALL_DIR}")
|
||||
|
||||
get_filename_component(binary_name "${imported_location}" NAME)
|
||||
set(JUCE_JUCEAIDE_NAME "${binary_name}" CACHE INTERNAL "The name of the juceaide program")
|
||||
|
||||
message(STATUS "Testing juceaide")
|
||||
|
||||
execute_process(COMMAND "${imported_location}" version
|
||||
RESULT_VARIABLE result_variable
|
||||
OUTPUT_VARIABLE output
|
||||
ERROR_VARIABLE output)
|
||||
|
||||
if(result_variable)
|
||||
message(FATAL_ERROR "Testing juceaide failed:\noutput: ${output}")
|
||||
endif()
|
||||
|
||||
message(STATUS "Finished setting up juceaide")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -1,39 +1,39 @@
|
|||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
set(CMAKE_FOLDER extras)
|
||||
add_subdirectory(AudioPerformanceTest)
|
||||
add_subdirectory(AudioPluginHost)
|
||||
add_subdirectory(BinaryBuilder)
|
||||
add_subdirectory(NetworkGraphicsDemo)
|
||||
add_subdirectory(Projucer)
|
||||
add_subdirectory(UnitTestRunner)
|
||||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
set(CMAKE_FOLDER extras)
|
||||
add_subdirectory(AudioPerformanceTest)
|
||||
add_subdirectory(AudioPluginHost)
|
||||
add_subdirectory(BinaryBuilder)
|
||||
add_subdirectory(NetworkGraphicsDemo)
|
||||
add_subdirectory(Projucer)
|
||||
add_subdirectory(UnitTestRunner)
|
||||
|
|
|
|||
|
|
@ -1,49 +1,49 @@
|
|||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
juce_add_gui_app(NetworkGraphicsDemo)
|
||||
|
||||
juce_generate_juce_header(NetworkGraphicsDemo)
|
||||
|
||||
target_sources(NetworkGraphicsDemo PRIVATE Source/Main.cpp)
|
||||
|
||||
target_compile_definitions(NetworkGraphicsDemo PRIVATE
|
||||
JUCE_USE_CURL=0 JUCE_WEB_BROWSER=0)
|
||||
|
||||
target_link_libraries(NetworkGraphicsDemo PRIVATE
|
||||
juce::juce_audio_utils
|
||||
juce::juce_cryptography
|
||||
juce::juce_opengl
|
||||
juce::juce_osc
|
||||
juce::juce_recommended_config_flags
|
||||
juce::juce_recommended_lto_flags
|
||||
juce::juce_recommended_warning_flags)
|
||||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
juce_add_gui_app(NetworkGraphicsDemo)
|
||||
|
||||
juce_generate_juce_header(NetworkGraphicsDemo)
|
||||
|
||||
target_sources(NetworkGraphicsDemo PRIVATE Source/Main.cpp)
|
||||
|
||||
target_compile_definitions(NetworkGraphicsDemo PRIVATE
|
||||
JUCE_USE_CURL=0 JUCE_WEB_BROWSER=0)
|
||||
|
||||
target_link_libraries(NetworkGraphicsDemo PRIVATE
|
||||
juce::juce_audio_utils
|
||||
juce::juce_cryptography
|
||||
juce::juce_opengl
|
||||
juce::juce_osc
|
||||
juce::juce_recommended_config_flags
|
||||
juce::juce_recommended_lto_flags
|
||||
juce::juce_recommended_warning_flags)
|
||||
|
|
|
|||
|
|
@ -1,162 +1,162 @@
|
|||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
juce_add_gui_app(Projucer
|
||||
BUNDLE_ID com.juce.theprojucer
|
||||
ICON_BIG ${CMAKE_CURRENT_SOURCE_DIR}/Source/BinaryData/Icons/juce_icon.png
|
||||
DOCUMENT_EXTENSIONS jucer
|
||||
NEEDS_CURL TRUE
|
||||
NEEDS_WEB_BROWSER TRUE)
|
||||
|
||||
juce_generate_juce_header(Projucer)
|
||||
|
||||
target_sources(Projucer PRIVATE
|
||||
Source/Application/jucer_AutoUpdater.cpp
|
||||
Source/Application/jucer_CommandLine.cpp
|
||||
Source/Application/jucer_Main.cpp
|
||||
Source/Application/jucer_MainWindow.cpp
|
||||
Source/Application/StartPage/jucer_StartPageComponent.cpp
|
||||
Source/Application/StartPage/jucer_NewProjectWizard.cpp
|
||||
Source/CodeEditor/jucer_DocumentEditorComponent.cpp
|
||||
Source/CodeEditor/jucer_OpenDocumentManager.cpp
|
||||
Source/CodeEditor/jucer_SourceCodeEditor.cpp
|
||||
Source/Project/Modules/jucer_Modules.cpp
|
||||
Source/Project/UI/jucer_HeaderComponent.cpp
|
||||
Source/Project/jucer_Project.cpp
|
||||
Source/ProjectSaving/jucer_ProjectExporter.cpp
|
||||
Source/ProjectSaving/jucer_ProjectSaver.cpp
|
||||
Source/ProjectSaving/jucer_ResourceFile.cpp
|
||||
Source/Settings/jucer_AppearanceSettings.cpp
|
||||
Source/Settings/jucer_StoredSettings.cpp
|
||||
Source/Utility/Helpers/jucer_CodeHelpers.cpp
|
||||
Source/Utility/Helpers/jucer_FileHelpers.cpp
|
||||
Source/Utility/Helpers/jucer_MiscUtilities.cpp
|
||||
Source/Utility/Helpers/jucer_NewFileWizard.cpp
|
||||
Source/Utility/Helpers/jucer_VersionInfo.cpp
|
||||
Source/Utility/PIPs/jucer_PIPGenerator.cpp
|
||||
Source/Utility/UI/jucer_Icons.cpp
|
||||
Source/Utility/UI/jucer_JucerTreeViewBase.cpp
|
||||
Source/Utility/UI/jucer_ProjucerLookAndFeel.cpp
|
||||
Source/Utility/UI/jucer_SlidingPanelComponent.cpp)
|
||||
|
||||
target_compile_definitions(Projucer PRIVATE
|
||||
JUCE_ALLOW_STATIC_NULL_VARIABLES=0
|
||||
JUCE_LOAD_CURL_SYMBOLS_LAZILY=1
|
||||
JUCE_LOG_ASSERTIONS=1
|
||||
JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
JUCE_USE_CURL=1
|
||||
JUCE_WEB_BROWSER=0
|
||||
# This is a temporary workaround to allow builds to complete on Xcode 15.
|
||||
# Add -Wl,-ld_classic to the OTHER_LDFLAGS build setting if you need to
|
||||
# deploy to older versions of macOS.
|
||||
JUCE_SILENCE_XCODE_15_LINKER_WARNING=1)
|
||||
|
||||
juce_add_binary_data(ProjucerData SOURCES
|
||||
Source/BinaryData/Icons/background_logo.svg
|
||||
Source/BinaryData/Icons/export_android.svg
|
||||
Source/BinaryData/Icons/export_linux.svg
|
||||
Source/BinaryData/Icons/export_visualStudio.svg
|
||||
Source/BinaryData/Icons/export_xcode.svg
|
||||
Source/BinaryData/Icons/juce_icon.png
|
||||
Source/BinaryData/Icons/wizard_AnimatedApp.svg
|
||||
Source/BinaryData/Icons/wizard_AudioApp.svg
|
||||
Source/BinaryData/Icons/wizard_AudioPlugin.svg
|
||||
Source/BinaryData/Icons/wizard_ConsoleApp.svg
|
||||
Source/BinaryData/Icons/wizard_DLL.svg
|
||||
Source/BinaryData/Icons/wizard_GUI.svg
|
||||
Source/BinaryData/Icons/wizard_Highlight.svg
|
||||
Source/BinaryData/Icons/wizard_OpenGL.svg
|
||||
Source/BinaryData/Icons/wizard_Openfile.svg
|
||||
Source/BinaryData/Icons/wizard_StaticLibrary.svg
|
||||
Source/BinaryData/Templates/jucer_AnimatedComponentSimpleTemplate.h
|
||||
Source/BinaryData/Templates/jucer_AnimatedComponentTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_AnimatedComponentTemplate.h
|
||||
Source/BinaryData/Templates/jucer_AudioComponentSimpleTemplate.h
|
||||
Source/BinaryData/Templates/jucer_AudioComponentTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_AudioComponentTemplate.h
|
||||
Source/BinaryData/Templates/jucer_AudioPluginARADocumentControllerTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_AudioPluginARADocumentControllerTemplate.h
|
||||
Source/BinaryData/Templates/jucer_AudioPluginARAPlaybackRendererTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_AudioPluginARAPlaybackRendererTemplate.h
|
||||
Source/BinaryData/Templates/jucer_AudioPluginEditorTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_AudioPluginEditorTemplate.h
|
||||
Source/BinaryData/Templates/jucer_AudioPluginARAEditorTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_AudioPluginARAEditorTemplate.h
|
||||
Source/BinaryData/Templates/jucer_AudioPluginFilterTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_AudioPluginFilterTemplate.h
|
||||
Source/BinaryData/Templates/jucer_AudioPluginARAFilterTemplate.h
|
||||
Source/BinaryData/Templates/jucer_ComponentTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_ComponentTemplate.h
|
||||
Source/BinaryData/Templates/jucer_ContentCompSimpleTemplate.h
|
||||
Source/BinaryData/Templates/jucer_ContentCompTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_ContentCompTemplate.h
|
||||
Source/BinaryData/Templates/jucer_InlineComponentTemplate.h
|
||||
Source/BinaryData/Templates/jucer_MainConsoleAppTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_MainTemplate_NoWindow.cpp
|
||||
Source/BinaryData/Templates/jucer_MainTemplate_Window.cpp
|
||||
Source/BinaryData/Templates/jucer_NewComponentTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_NewComponentTemplate.h
|
||||
Source/BinaryData/Templates/jucer_NewCppFileTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_NewCppFileTemplate.h
|
||||
Source/BinaryData/Templates/jucer_NewInlineComponentTemplate.h
|
||||
Source/BinaryData/Templates/jucer_OpenGLComponentSimpleTemplate.h
|
||||
Source/BinaryData/Templates/jucer_OpenGLComponentTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_OpenGLComponentTemplate.h
|
||||
Source/BinaryData/Templates/jucer_PIPAudioProcessorTemplate.h
|
||||
Source/BinaryData/Templates/jucer_PIPTemplate.h
|
||||
Source/BinaryData/colourscheme_dark.xml
|
||||
Source/BinaryData/colourscheme_light.xml
|
||||
Source/BinaryData/gradle/LICENSE
|
||||
Source/BinaryData/gradle/gradle-wrapper.jar
|
||||
Source/BinaryData/gradle/gradlew
|
||||
Source/BinaryData/gradle/gradlew.bat
|
||||
Source/BinaryData/juce_SimpleBinaryBuilder.cpp
|
||||
|
||||
../Build/CMake/JuceLV2Defines.h.in
|
||||
../Build/CMake/LaunchScreen.storyboard
|
||||
../Build/CMake/PIPAudioProcessor.cpp.in
|
||||
../Build/CMake/PIPAudioProcessorWithARA.cpp.in
|
||||
../Build/CMake/PIPComponent.cpp.in
|
||||
../Build/CMake/PIPConsole.cpp.in
|
||||
../Build/CMake/RecentFilesMenuTemplate.nib
|
||||
../Build/CMake/UnityPluginGUIScript.cs.in
|
||||
../Build/CMake/juce_runtime_arch_detection.cpp
|
||||
../Build/CMake/juce_LinuxSubprocessHelper.cpp)
|
||||
|
||||
target_link_libraries(Projucer PRIVATE
|
||||
ProjucerData
|
||||
juce::juce_build_tools
|
||||
juce::juce_cryptography
|
||||
juce::juce_gui_extra
|
||||
juce::juce_recommended_config_flags
|
||||
juce::juce_recommended_lto_flags
|
||||
juce::juce_recommended_warning_flags)
|
||||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
juce_add_gui_app(Projucer
|
||||
BUNDLE_ID com.juce.theprojucer
|
||||
ICON_BIG ${CMAKE_CURRENT_SOURCE_DIR}/Source/BinaryData/Icons/juce_icon.png
|
||||
DOCUMENT_EXTENSIONS jucer
|
||||
NEEDS_CURL TRUE
|
||||
NEEDS_WEB_BROWSER TRUE)
|
||||
|
||||
juce_generate_juce_header(Projucer)
|
||||
|
||||
target_sources(Projucer PRIVATE
|
||||
Source/Application/jucer_AutoUpdater.cpp
|
||||
Source/Application/jucer_CommandLine.cpp
|
||||
Source/Application/jucer_Main.cpp
|
||||
Source/Application/jucer_MainWindow.cpp
|
||||
Source/Application/StartPage/jucer_StartPageComponent.cpp
|
||||
Source/Application/StartPage/jucer_NewProjectWizard.cpp
|
||||
Source/CodeEditor/jucer_DocumentEditorComponent.cpp
|
||||
Source/CodeEditor/jucer_OpenDocumentManager.cpp
|
||||
Source/CodeEditor/jucer_SourceCodeEditor.cpp
|
||||
Source/Project/Modules/jucer_Modules.cpp
|
||||
Source/Project/UI/jucer_HeaderComponent.cpp
|
||||
Source/Project/jucer_Project.cpp
|
||||
Source/ProjectSaving/jucer_ProjectExporter.cpp
|
||||
Source/ProjectSaving/jucer_ProjectSaver.cpp
|
||||
Source/ProjectSaving/jucer_ResourceFile.cpp
|
||||
Source/Settings/jucer_AppearanceSettings.cpp
|
||||
Source/Settings/jucer_StoredSettings.cpp
|
||||
Source/Utility/Helpers/jucer_CodeHelpers.cpp
|
||||
Source/Utility/Helpers/jucer_FileHelpers.cpp
|
||||
Source/Utility/Helpers/jucer_MiscUtilities.cpp
|
||||
Source/Utility/Helpers/jucer_NewFileWizard.cpp
|
||||
Source/Utility/Helpers/jucer_VersionInfo.cpp
|
||||
Source/Utility/PIPs/jucer_PIPGenerator.cpp
|
||||
Source/Utility/UI/jucer_Icons.cpp
|
||||
Source/Utility/UI/jucer_JucerTreeViewBase.cpp
|
||||
Source/Utility/UI/jucer_ProjucerLookAndFeel.cpp
|
||||
Source/Utility/UI/jucer_SlidingPanelComponent.cpp)
|
||||
|
||||
target_compile_definitions(Projucer PRIVATE
|
||||
JUCE_ALLOW_STATIC_NULL_VARIABLES=0
|
||||
JUCE_LOAD_CURL_SYMBOLS_LAZILY=1
|
||||
JUCE_LOG_ASSERTIONS=1
|
||||
JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
JUCE_USE_CURL=1
|
||||
JUCE_WEB_BROWSER=0
|
||||
# This is a temporary workaround to allow builds to complete on Xcode 15.
|
||||
# Add -Wl,-ld_classic to the OTHER_LDFLAGS build setting if you need to
|
||||
# deploy to older versions of macOS.
|
||||
JUCE_SILENCE_XCODE_15_LINKER_WARNING=1)
|
||||
|
||||
juce_add_binary_data(ProjucerData SOURCES
|
||||
Source/BinaryData/Icons/background_logo.svg
|
||||
Source/BinaryData/Icons/export_android.svg
|
||||
Source/BinaryData/Icons/export_linux.svg
|
||||
Source/BinaryData/Icons/export_visualStudio.svg
|
||||
Source/BinaryData/Icons/export_xcode.svg
|
||||
Source/BinaryData/Icons/juce_icon.png
|
||||
Source/BinaryData/Icons/wizard_AnimatedApp.svg
|
||||
Source/BinaryData/Icons/wizard_AudioApp.svg
|
||||
Source/BinaryData/Icons/wizard_AudioPlugin.svg
|
||||
Source/BinaryData/Icons/wizard_ConsoleApp.svg
|
||||
Source/BinaryData/Icons/wizard_DLL.svg
|
||||
Source/BinaryData/Icons/wizard_GUI.svg
|
||||
Source/BinaryData/Icons/wizard_Highlight.svg
|
||||
Source/BinaryData/Icons/wizard_OpenGL.svg
|
||||
Source/BinaryData/Icons/wizard_Openfile.svg
|
||||
Source/BinaryData/Icons/wizard_StaticLibrary.svg
|
||||
Source/BinaryData/Templates/jucer_AnimatedComponentSimpleTemplate.h
|
||||
Source/BinaryData/Templates/jucer_AnimatedComponentTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_AnimatedComponentTemplate.h
|
||||
Source/BinaryData/Templates/jucer_AudioComponentSimpleTemplate.h
|
||||
Source/BinaryData/Templates/jucer_AudioComponentTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_AudioComponentTemplate.h
|
||||
Source/BinaryData/Templates/jucer_AudioPluginARADocumentControllerTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_AudioPluginARADocumentControllerTemplate.h
|
||||
Source/BinaryData/Templates/jucer_AudioPluginARAPlaybackRendererTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_AudioPluginARAPlaybackRendererTemplate.h
|
||||
Source/BinaryData/Templates/jucer_AudioPluginEditorTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_AudioPluginEditorTemplate.h
|
||||
Source/BinaryData/Templates/jucer_AudioPluginARAEditorTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_AudioPluginARAEditorTemplate.h
|
||||
Source/BinaryData/Templates/jucer_AudioPluginFilterTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_AudioPluginFilterTemplate.h
|
||||
Source/BinaryData/Templates/jucer_AudioPluginARAFilterTemplate.h
|
||||
Source/BinaryData/Templates/jucer_ComponentTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_ComponentTemplate.h
|
||||
Source/BinaryData/Templates/jucer_ContentCompSimpleTemplate.h
|
||||
Source/BinaryData/Templates/jucer_ContentCompTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_ContentCompTemplate.h
|
||||
Source/BinaryData/Templates/jucer_InlineComponentTemplate.h
|
||||
Source/BinaryData/Templates/jucer_MainConsoleAppTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_MainTemplate_NoWindow.cpp
|
||||
Source/BinaryData/Templates/jucer_MainTemplate_Window.cpp
|
||||
Source/BinaryData/Templates/jucer_NewComponentTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_NewComponentTemplate.h
|
||||
Source/BinaryData/Templates/jucer_NewCppFileTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_NewCppFileTemplate.h
|
||||
Source/BinaryData/Templates/jucer_NewInlineComponentTemplate.h
|
||||
Source/BinaryData/Templates/jucer_OpenGLComponentSimpleTemplate.h
|
||||
Source/BinaryData/Templates/jucer_OpenGLComponentTemplate.cpp
|
||||
Source/BinaryData/Templates/jucer_OpenGLComponentTemplate.h
|
||||
Source/BinaryData/Templates/jucer_PIPAudioProcessorTemplate.h
|
||||
Source/BinaryData/Templates/jucer_PIPTemplate.h
|
||||
Source/BinaryData/colourscheme_dark.xml
|
||||
Source/BinaryData/colourscheme_light.xml
|
||||
Source/BinaryData/gradle/LICENSE
|
||||
Source/BinaryData/gradle/gradle-wrapper.jar
|
||||
Source/BinaryData/gradle/gradlew
|
||||
Source/BinaryData/gradle/gradlew.bat
|
||||
Source/BinaryData/juce_SimpleBinaryBuilder.cpp
|
||||
|
||||
../Build/CMake/JuceLV2Defines.h.in
|
||||
../Build/CMake/LaunchScreen.storyboard
|
||||
../Build/CMake/PIPAudioProcessor.cpp.in
|
||||
../Build/CMake/PIPAudioProcessorWithARA.cpp.in
|
||||
../Build/CMake/PIPComponent.cpp.in
|
||||
../Build/CMake/PIPConsole.cpp.in
|
||||
../Build/CMake/RecentFilesMenuTemplate.nib
|
||||
../Build/CMake/UnityPluginGUIScript.cs.in
|
||||
../Build/CMake/juce_runtime_arch_detection.cpp
|
||||
../Build/CMake/juce_LinuxSubprocessHelper.cpp)
|
||||
|
||||
target_link_libraries(Projucer PRIVATE
|
||||
ProjucerData
|
||||
juce::juce_build_tools
|
||||
juce::juce_cryptography
|
||||
juce::juce_gui_extra
|
||||
juce::juce_recommended_config_flags
|
||||
juce::juce_recommended_lto_flags
|
||||
juce::juce_recommended_warning_flags)
|
||||
|
|
|
|||
|
|
@ -1,60 +1,60 @@
|
|||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
juce_add_console_app(UnitTestRunner)
|
||||
|
||||
juce_generate_juce_header(UnitTestRunner)
|
||||
|
||||
target_sources(UnitTestRunner PRIVATE Source/Main.cpp)
|
||||
|
||||
target_compile_definitions(UnitTestRunner PRIVATE
|
||||
JUCE_PLUGINHOST_LV2=1
|
||||
JUCE_PLUGINHOST_VST3=1
|
||||
JUCE_UNIT_TESTS=1
|
||||
JUCE_USE_CURL=0
|
||||
JUCE_WEB_BROWSER=0
|
||||
# This is a temporary workaround to allow builds to complete on Xcode 15.
|
||||
# Add -Wl,-ld_classic to the OTHER_LDFLAGS build setting if you need to
|
||||
# deploy to older versions of macOS.
|
||||
JUCE_SILENCE_XCODE_15_LINKER_WARNING=1)
|
||||
|
||||
target_link_libraries(UnitTestRunner PRIVATE
|
||||
juce::juce_analytics
|
||||
juce::juce_audio_utils
|
||||
juce::juce_dsp
|
||||
juce::juce_midi_ci
|
||||
juce::juce_opengl
|
||||
juce::juce_osc
|
||||
juce::juce_product_unlocking
|
||||
juce::juce_recommended_config_flags
|
||||
juce::juce_recommended_lto_flags
|
||||
juce::juce_recommended_warning_flags)
|
||||
# ==============================================================================
|
||||
#
|
||||
# This file is part of the JUCE framework.
|
||||
# Copyright (c) Raw Material Software Limited
|
||||
#
|
||||
# JUCE is an open source framework subject to commercial or open source
|
||||
# licensing.
|
||||
#
|
||||
# By downloading, installing, or using the JUCE framework, or combining the
|
||||
# JUCE framework with any other source code, object code, content or any other
|
||||
# copyrightable work, you agree to the terms of the JUCE End User Licence
|
||||
# Agreement, and all incorporated terms including the JUCE Privacy Policy and
|
||||
# the JUCE Website Terms of Service, as applicable, which will bind you. If you
|
||||
# do not agree to the terms of these agreements, we will not license the JUCE
|
||||
# framework to you, and you must discontinue the installation or download
|
||||
# process and cease use of the JUCE framework.
|
||||
#
|
||||
# JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
|
||||
# JUCE Privacy Policy: https://juce.com/juce-privacy-policy
|
||||
# JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
|
||||
#
|
||||
# Or:
|
||||
#
|
||||
# You may also use this code under the terms of the AGPLv3:
|
||||
# https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
#
|
||||
# THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
|
||||
# WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
|
||||
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
|
||||
#
|
||||
# ==============================================================================
|
||||
|
||||
juce_add_console_app(UnitTestRunner)
|
||||
|
||||
juce_generate_juce_header(UnitTestRunner)
|
||||
|
||||
target_sources(UnitTestRunner PRIVATE Source/Main.cpp)
|
||||
|
||||
target_compile_definitions(UnitTestRunner PRIVATE
|
||||
JUCE_PLUGINHOST_LV2=1
|
||||
JUCE_PLUGINHOST_VST3=1
|
||||
JUCE_UNIT_TESTS=1
|
||||
JUCE_USE_CURL=0
|
||||
JUCE_WEB_BROWSER=0
|
||||
# This is a temporary workaround to allow builds to complete on Xcode 15.
|
||||
# Add -Wl,-ld_classic to the OTHER_LDFLAGS build setting if you need to
|
||||
# deploy to older versions of macOS.
|
||||
JUCE_SILENCE_XCODE_15_LINKER_WARNING=1)
|
||||
|
||||
target_link_libraries(UnitTestRunner PRIVATE
|
||||
juce::juce_analytics
|
||||
juce::juce_audio_utils
|
||||
juce::juce_dsp
|
||||
juce::juce_midi_ci
|
||||
juce::juce_opengl
|
||||
juce::juce_osc
|
||||
juce::juce_product_unlocking
|
||||
juce::juce_recommended_config_flags
|
||||
juce::juce_recommended_lto_flags
|
||||
juce::juce_recommended_warning_flags)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue