fix macOS build (following Projucer changes made in Windows, which removed /Applications/JUCE/modules from its headers). move JUCE headers under source control, so that Windows and macOS can both build against same version of JUCE. remove AUv3 target (I think it's an iOS thing, so it will never work with this macOS fluidsynth dylib).
This commit is contained in:
360
modules/juce_core/juce_core.h
Normal file
360
modules/juce_core/juce_core.h
Normal file
@ -0,0 +1,360 @@
|
||||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2017 - ROLI Ltd.
|
||||
|
||||
JUCE is an open source library subject to commercial or open-source
|
||||
licensing.
|
||||
|
||||
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.
|
||||
|
||||
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
|
||||
DISCLAIMED.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
The block below describes the properties of this module, and is read by
|
||||
the Projucer to automatically generate project code that uses it.
|
||||
For details about the syntax and how to create or use a module, see the
|
||||
JUCE Module Format.txt file.
|
||||
|
||||
|
||||
BEGIN_JUCE_MODULE_DECLARATION
|
||||
|
||||
ID: juce_core
|
||||
vendor: juce
|
||||
version: 5.3.2
|
||||
name: JUCE core classes
|
||||
description: The essential set of basic JUCE classes, as required by all the other JUCE modules. Includes text, container, memory, threading and i/o functionality.
|
||||
website: http://www.juce.com/juce
|
||||
license: ISC
|
||||
|
||||
dependencies:
|
||||
OSXFrameworks: Cocoa IOKit
|
||||
iOSFrameworks: Foundation
|
||||
linuxLibs: rt dl pthread
|
||||
linuxPackages: libcurl
|
||||
mingwLibs: uuid wsock32 wininet version ole32 ws2_32 oleaut32 imm32 comdlg32 shlwapi rpcrt4 winmm
|
||||
|
||||
END_JUCE_MODULE_DECLARATION
|
||||
|
||||
*******************************************************************************/
|
||||
|
||||
|
||||
#pragma once
|
||||
#define JUCE_CORE_H_INCLUDED
|
||||
|
||||
//==============================================================================
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning (push)
|
||||
// Disable warnings for long class names, padding, and undefined preprocessor definitions.
|
||||
#pragma warning (disable: 4251 4786 4668 4820)
|
||||
#ifdef __INTEL_COMPILER
|
||||
#pragma warning (disable: 1125)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include "system/juce_TargetPlatform.h"
|
||||
|
||||
//==============================================================================
|
||||
/** Config: JUCE_FORCE_DEBUG
|
||||
|
||||
Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings,
|
||||
but if you define this value, you can override this to force it to be true or false.
|
||||
*/
|
||||
#ifndef JUCE_FORCE_DEBUG
|
||||
//#define JUCE_FORCE_DEBUG 0
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
/** Config: JUCE_LOG_ASSERTIONS
|
||||
|
||||
If this flag is enabled, the jassert and jassertfalse macros will always use Logger::writeToLog()
|
||||
to write a message when an assertion happens.
|
||||
|
||||
Enabling it will also leave this turned on in release builds. When it's disabled,
|
||||
however, the jassert and jassertfalse macros will not be compiled in a
|
||||
release build.
|
||||
|
||||
@see jassert, jassertfalse, Logger
|
||||
*/
|
||||
#ifndef JUCE_LOG_ASSERTIONS
|
||||
#if JUCE_ANDROID
|
||||
#define JUCE_LOG_ASSERTIONS 1
|
||||
#else
|
||||
#define JUCE_LOG_ASSERTIONS 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
/** Config: JUCE_CHECK_MEMORY_LEAKS
|
||||
|
||||
Enables a memory-leak check for certain objects when the app terminates. See the LeakedObjectDetector
|
||||
class and the JUCE_LEAK_DETECTOR macro for more details about enabling leak checking for specific classes.
|
||||
*/
|
||||
#if JUCE_DEBUG && ! defined (JUCE_CHECK_MEMORY_LEAKS)
|
||||
#define JUCE_CHECK_MEMORY_LEAKS 1
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
/** Config: JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES
|
||||
|
||||
In a Visual C++ build, this can be used to stop the required system libs being
|
||||
automatically added to the link stage.
|
||||
*/
|
||||
#ifndef JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES
|
||||
#define JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES 0
|
||||
#endif
|
||||
|
||||
/** Config: JUCE_INCLUDE_ZLIB_CODE
|
||||
This can be used to disable Juce's embedded 3rd-party zlib code.
|
||||
You might need to tweak this if you're linking to an external zlib library in your app,
|
||||
but for normal apps, this option should be left alone.
|
||||
|
||||
If you disable this, you might also want to set a value for JUCE_ZLIB_INCLUDE_PATH, to
|
||||
specify the path where your zlib headers live.
|
||||
*/
|
||||
#ifndef JUCE_INCLUDE_ZLIB_CODE
|
||||
#define JUCE_INCLUDE_ZLIB_CODE 1
|
||||
#endif
|
||||
|
||||
#ifndef JUCE_ZLIB_INCLUDE_PATH
|
||||
#define JUCE_ZLIB_INCLUDE_PATH <zlib.h>
|
||||
#endif
|
||||
|
||||
/** Config: JUCE_USE_CURL
|
||||
Enables http/https support via libcurl (Linux only). Enabling this will add an additional
|
||||
run-time dynamic dependency to libcurl.
|
||||
|
||||
If you disable this then https/ssl support will not be available on linux.
|
||||
*/
|
||||
#ifndef JUCE_USE_CURL
|
||||
#define JUCE_USE_CURL 0
|
||||
#endif
|
||||
|
||||
|
||||
/** Config: JUCE_CATCH_UNHANDLED_EXCEPTIONS
|
||||
If enabled, this will add some exception-catching code to forward unhandled exceptions
|
||||
to your JUCEApplicationBase::unhandledException() callback.
|
||||
*/
|
||||
#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS
|
||||
//#define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1
|
||||
#endif
|
||||
|
||||
/** Config: JUCE_ALLOW_STATIC_NULL_VARIABLES
|
||||
If disabled, this will turn off dangerous static globals like String::empty, var::null, etc
|
||||
which can cause nasty order-of-initialisation problems if they are referenced during static
|
||||
constructor code.
|
||||
*/
|
||||
#ifndef JUCE_ALLOW_STATIC_NULL_VARIABLES
|
||||
#define JUCE_ALLOW_STATIC_NULL_VARIABLES 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef JUCE_STRING_UTF_TYPE
|
||||
#define JUCE_STRING_UTF_TYPE 8
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
//==============================================================================
|
||||
|
||||
#if JUCE_CORE_INCLUDE_NATIVE_HEADERS
|
||||
#include "native/juce_BasicNativeHeaders.h"
|
||||
#endif
|
||||
|
||||
#if JUCE_WINDOWS
|
||||
#undef small
|
||||
#endif
|
||||
|
||||
#include "system/juce_StandardHeader.h"
|
||||
|
||||
namespace juce
|
||||
{
|
||||
class StringRef;
|
||||
class MemoryBlock;
|
||||
class File;
|
||||
class InputStream;
|
||||
class OutputStream;
|
||||
class DynamicObject;
|
||||
class FileInputStream;
|
||||
class FileOutputStream;
|
||||
class XmlElement;
|
||||
|
||||
extern JUCE_API bool JUCE_CALLTYPE juce_isRunningUnderDebugger() noexcept;
|
||||
extern JUCE_API void JUCE_CALLTYPE logAssertion (const char* file, int line) noexcept;
|
||||
}
|
||||
|
||||
#include "memory/juce_Memory.h"
|
||||
#include "maths/juce_MathsFunctions.h"
|
||||
#include "memory/juce_ByteOrder.h"
|
||||
#include "memory/juce_Atomic.h"
|
||||
#include "text/juce_CharacterFunctions.h"
|
||||
|
||||
#if JUCE_MSVC
|
||||
#pragma warning (push)
|
||||
#pragma warning (disable: 4514 4996)
|
||||
#endif
|
||||
|
||||
#include "text/juce_CharPointer_UTF8.h"
|
||||
#include "text/juce_CharPointer_UTF16.h"
|
||||
#include "text/juce_CharPointer_UTF32.h"
|
||||
#include "text/juce_CharPointer_ASCII.h"
|
||||
|
||||
#if JUCE_MSVC
|
||||
#pragma warning (pop)
|
||||
#endif
|
||||
|
||||
#include "text/juce_String.h"
|
||||
#include "text/juce_StringRef.h"
|
||||
#include "logging/juce_Logger.h"
|
||||
#include "memory/juce_LeakedObjectDetector.h"
|
||||
#include "memory/juce_ContainerDeletePolicy.h"
|
||||
#include "memory/juce_HeapBlock.h"
|
||||
#include "memory/juce_MemoryBlock.h"
|
||||
#include "memory/juce_ReferenceCountedObject.h"
|
||||
#include "memory/juce_ScopedPointer.h"
|
||||
#include "memory/juce_OptionalScopedPointer.h"
|
||||
#include "memory/juce_Singleton.h"
|
||||
#include "memory/juce_WeakReference.h"
|
||||
#include "threads/juce_ScopedLock.h"
|
||||
#include "threads/juce_CriticalSection.h"
|
||||
#include "maths/juce_Range.h"
|
||||
#include "maths/juce_NormalisableRange.h"
|
||||
#include "maths/juce_StatisticsAccumulator.h"
|
||||
#include "containers/juce_ElementComparator.h"
|
||||
#include "containers/juce_ArrayAllocationBase.h"
|
||||
#include "containers/juce_Array.h"
|
||||
#include "containers/juce_LinkedListPointer.h"
|
||||
#include "containers/juce_ListenerList.h"
|
||||
#include "containers/juce_OwnedArray.h"
|
||||
#include "containers/juce_ReferenceCountedArray.h"
|
||||
#include "containers/juce_ScopedValueSetter.h"
|
||||
#include "containers/juce_SortedSet.h"
|
||||
#include "containers/juce_SparseSet.h"
|
||||
#include "containers/juce_AbstractFifo.h"
|
||||
#include "text/juce_NewLine.h"
|
||||
#include "text/juce_StringPool.h"
|
||||
#include "text/juce_Identifier.h"
|
||||
#include "text/juce_StringArray.h"
|
||||
#include "text/juce_StringPairArray.h"
|
||||
#include "text/juce_TextDiff.h"
|
||||
#include "text/juce_LocalisedStrings.h"
|
||||
#include "text/juce_Base64.h"
|
||||
#include "misc/juce_Result.h"
|
||||
#include "misc/juce_Uuid.h"
|
||||
#include "containers/juce_Variant.h"
|
||||
#include "containers/juce_NamedValueSet.h"
|
||||
#include "containers/juce_DynamicObject.h"
|
||||
#include "containers/juce_HashMap.h"
|
||||
#include "time/juce_RelativeTime.h"
|
||||
#include "time/juce_Time.h"
|
||||
#include "streams/juce_InputStream.h"
|
||||
#include "streams/juce_OutputStream.h"
|
||||
#include "streams/juce_BufferedInputStream.h"
|
||||
#include "streams/juce_MemoryInputStream.h"
|
||||
#include "streams/juce_MemoryOutputStream.h"
|
||||
#include "streams/juce_SubregionStream.h"
|
||||
#include "streams/juce_InputSource.h"
|
||||
#include "files/juce_File.h"
|
||||
#include "files/juce_DirectoryIterator.h"
|
||||
#include "files/juce_FileInputStream.h"
|
||||
#include "files/juce_FileOutputStream.h"
|
||||
#include "files/juce_FileSearchPath.h"
|
||||
#include "files/juce_MemoryMappedFile.h"
|
||||
#include "files/juce_TemporaryFile.h"
|
||||
#include "files/juce_FileFilter.h"
|
||||
#include "files/juce_WildcardFileFilter.h"
|
||||
#include "streams/juce_FileInputSource.h"
|
||||
#include "logging/juce_FileLogger.h"
|
||||
#include "javascript/juce_JSON.h"
|
||||
#include "javascript/juce_Javascript.h"
|
||||
#include "maths/juce_BigInteger.h"
|
||||
#include "maths/juce_Expression.h"
|
||||
#include "maths/juce_Random.h"
|
||||
#include "misc/juce_RuntimePermissions.h"
|
||||
#include "misc/juce_WindowsRegistry.h"
|
||||
#include "threads/juce_ChildProcess.h"
|
||||
#include "threads/juce_DynamicLibrary.h"
|
||||
#include "threads/juce_HighResolutionTimer.h"
|
||||
#include "threads/juce_InterProcessLock.h"
|
||||
#include "threads/juce_Process.h"
|
||||
#include "threads/juce_SpinLock.h"
|
||||
#include "threads/juce_WaitableEvent.h"
|
||||
#include "threads/juce_Thread.h"
|
||||
#include "threads/juce_ThreadLocalValue.h"
|
||||
#include "threads/juce_ThreadPool.h"
|
||||
#include "threads/juce_TimeSliceThread.h"
|
||||
#include "threads/juce_ReadWriteLock.h"
|
||||
#include "threads/juce_ScopedReadLock.h"
|
||||
#include "threads/juce_ScopedWriteLock.h"
|
||||
#include "network/juce_IPAddress.h"
|
||||
#include "network/juce_MACAddress.h"
|
||||
#include "network/juce_NamedPipe.h"
|
||||
#include "network/juce_Socket.h"
|
||||
#include "network/juce_URL.h"
|
||||
#include "network/juce_WebInputStream.h"
|
||||
#include "streams/juce_URLInputSource.h"
|
||||
#include "system/juce_SystemStats.h"
|
||||
#include "time/juce_PerformanceCounter.h"
|
||||
#include "unit_tests/juce_UnitTest.h"
|
||||
#include "xml/juce_XmlDocument.h"
|
||||
#include "xml/juce_XmlElement.h"
|
||||
#include "zip/juce_GZIPCompressorOutputStream.h"
|
||||
#include "zip/juce_GZIPDecompressorInputStream.h"
|
||||
#include "zip/juce_ZipFile.h"
|
||||
#include "containers/juce_PropertySet.h"
|
||||
#include "memory/juce_SharedResourcePointer.h"
|
||||
|
||||
#if JUCE_CORE_INCLUDE_OBJC_HELPERS && (JUCE_MAC || JUCE_IOS)
|
||||
#include "native/juce_osx_ObjCHelpers.h"
|
||||
#endif
|
||||
|
||||
#if JUCE_CORE_INCLUDE_COM_SMART_PTR && JUCE_WINDOWS
|
||||
#include "native/juce_win32_ComSmartPtr.h"
|
||||
#endif
|
||||
|
||||
#if JUCE_CORE_INCLUDE_JNI_HELPERS && JUCE_ANDROID
|
||||
#include <jni.h>
|
||||
#include "native/juce_android_JNIHelpers.h"
|
||||
#endif
|
||||
|
||||
#ifndef DOXYGEN
|
||||
namespace juce
|
||||
{
|
||||
/*
|
||||
As the very long class names here try to explain, the purpose of this code is to cause
|
||||
a linker error if not all of your compile units are consistent in the options that they
|
||||
enable before including JUCE headers. The reason this is important is that if you have
|
||||
two cpp files, and one includes the juce headers with debug enabled, and another does so
|
||||
without that, then each will be generating code with different class layouts, and you'll
|
||||
get subtle and hard-to-track-down memory corruption!
|
||||
*/
|
||||
#if JUCE_DEBUG
|
||||
struct JUCE_API this_will_fail_to_link_if_some_of_your_compile_units_are_built_in_debug_mode
|
||||
{ this_will_fail_to_link_if_some_of_your_compile_units_are_built_in_debug_mode() noexcept; };
|
||||
static this_will_fail_to_link_if_some_of_your_compile_units_are_built_in_debug_mode compileUnitMismatchSentinel;
|
||||
#else
|
||||
struct JUCE_API this_will_fail_to_link_if_some_of_your_compile_units_are_built_in_release_mode
|
||||
{ this_will_fail_to_link_if_some_of_your_compile_units_are_built_in_release_mode() noexcept; };
|
||||
static this_will_fail_to_link_if_some_of_your_compile_units_are_built_in_release_mode compileUnitMismatchSentinel;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
#if JUCE_MSVC
|
||||
#pragma warning (pop)
|
||||
|
||||
// In DLL builds, need to disable this warnings for other modules
|
||||
#if defined (JUCE_DLL_BUILD) || defined (JUCE_DLL)
|
||||
#pragma warning (disable: 4251)
|
||||
#endif
|
||||
#endif
|
Reference in New Issue
Block a user