84 lines
3.2 KiB
CMake
84 lines
3.2 KiB
CMake
# ==============================================================================
|
|
#
|
|
# 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)
|