Skip to content

Commit eaa59b9

Browse files
committed
Add juce binary builder
1 parent 9e6e331 commit eaa59b9

258 files changed

Lines changed: 82953 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
cmake_minimum_required(VERSION 3.5.0)
2+
project(BinaryBuilder)
3+
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
4+
set(LINUX 1)
5+
if(NOT CMAKE_BUILD_TYPE)
6+
set(CMAKE_BUILD_TYPE Debug)
7+
endif()
8+
endif()
9+
10+
if (APPLE)
11+
set(JUCE_FILES_EXTENSION mm)
12+
else()
13+
set(JUCE_FILES_EXTENSION cpp)
14+
endif()
15+
16+
add_executable(BinaryBuilder Source/Main.cpp JuceLibraryCode/include_juce_core.${JUCE_FILES_EXTENSION})
17+
18+
19+
target_compile_definitions(BinaryBuilder PRIVATE
20+
$<$<PLATFORM_ID:Windows>:_CRT_SECURE_NO_WARNINGS>
21+
$<$<PLATFORM_ID:Windows>:_CONSOLE>
22+
$<$<PLATFORM_ID:Linux>:JUCE_DISABLE_NATIVE_FILECHOOSERS=1>
23+
$<$<CONFIG:Debug>:DEBUG=1>
24+
$<$<CONFIG:Debug>:_DEBUG=1>
25+
$<$<CONFIG:Release>:NDEBUG=1>
26+
JUCE_APP_VERSION="1.0.0"
27+
JUCE_APP_VERSION_HEX="0x10000"
28+
JucePlugin_Build_VST=0
29+
JucePlugin_Build_VST3=0
30+
JucePlugin_Build_AU=0
31+
JucePlugin_Build_AUv3=0
32+
JucePlugin_Build_RTAS=0
33+
JucePlugin_Build_AAX=0
34+
JucePlugin_Build_Standalone=0
35+
JucePlugin_Build_Unity=0
36+
)
37+
38+
target_include_directories(BinaryBuilder PRIVATE JuceLibraryCode JuceLibraryCode/modules)
39+
target_compile_features(BinaryBuilder PUBLIC cxx_auto_type cxx_generalized_initializers)
40+
41+
if(MSVC)
42+
target_compile_options(BinaryBuilder PRIVATE /sdl- /nologo /MP)
43+
set_property(TARGET BinaryBuilder APPEND_STRING PROPERTY LINK_FLAGS_DEBUG " /NODEFAULTLIB:\"libcmt.lib\" /NODEFAULTLIB:\"msvcrt.lib\"")
44+
set_property(TARGET BinaryBuilder APPEND_STRING PROPERTY LINK_FLAGS " /SUBSYSTEM:CONSOLE")
45+
elseif(LINUX)
46+
target_compile_options(BinaryBuilder PRIVATE -pthread)
47+
target_link_libraries(BinaryBuilder dl pthread)
48+
elseif(APPLE)
49+
target_link_libraries(dl)
50+
target_link_libraries(open-ephys
51+
"-framework Cocoa"
52+
"-framework IOKit"
53+
)
54+
endif()
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
/*
2+
3+
IMPORTANT! This file is auto-generated each time you save your
4+
project - if you alter its contents, your changes may be overwritten!
5+
6+
There's a section below where you can add your own custom code safely, and the
7+
Projucer will preserve the contents of that block, but the best way to change
8+
any of these definitions is by using the Projucer's project settings.
9+
10+
Any commented-out settings will assume their default values.
11+
12+
*/
13+
14+
#pragma once
15+
16+
//==============================================================================
17+
// [BEGIN_USER_CODE_SECTION]
18+
19+
// (You can add your own code in this section, and the Projucer will not overwrite it)
20+
21+
// [END_USER_CODE_SECTION]
22+
23+
/*
24+
==============================================================================
25+
26+
In accordance with the terms of the JUCE 5 End-Use License Agreement, the
27+
JUCE Code in SECTION A cannot be removed, changed or otherwise rendered
28+
ineffective unless you have a JUCE Indie or Pro license, or are using JUCE
29+
under the GPL v3 license.
30+
31+
End User License Agreement: www.juce.com/juce-5-licence
32+
33+
==============================================================================
34+
*/
35+
36+
// BEGIN SECTION A
37+
38+
#ifndef JUCE_DISPLAY_SPLASH_SCREEN
39+
#define JUCE_DISPLAY_SPLASH_SCREEN 0
40+
#endif
41+
42+
#ifndef JUCE_REPORT_APP_USAGE
43+
#define JUCE_REPORT_APP_USAGE 0
44+
#endif
45+
46+
// END SECTION A
47+
48+
#define JUCE_USE_DARK_SPLASH_SCREEN 1
49+
50+
//==============================================================================
51+
#define JUCE_MODULE_AVAILABLE_juce_core 1
52+
53+
#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1
54+
55+
//==============================================================================
56+
// juce_core flags:
57+
58+
#ifndef JUCE_FORCE_DEBUG
59+
//#define JUCE_FORCE_DEBUG 0
60+
#endif
61+
62+
#ifndef JUCE_LOG_ASSERTIONS
63+
//#define JUCE_LOG_ASSERTIONS 0
64+
#endif
65+
66+
#ifndef JUCE_CHECK_MEMORY_LEAKS
67+
//#define JUCE_CHECK_MEMORY_LEAKS 1
68+
#endif
69+
70+
#ifndef JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES
71+
//#define JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES 0
72+
#endif
73+
74+
#ifndef JUCE_INCLUDE_ZLIB_CODE
75+
//#define JUCE_INCLUDE_ZLIB_CODE 1
76+
#endif
77+
78+
#ifndef JUCE_USE_CURL
79+
//#define JUCE_USE_CURL 0
80+
#endif
81+
82+
#ifndef JUCE_LOAD_CURL_SYMBOLS_LAZILY
83+
//#define JUCE_LOAD_CURL_SYMBOLS_LAZILY 0
84+
#endif
85+
86+
#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS
87+
//#define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1
88+
#endif
89+
90+
#ifndef JUCE_ALLOW_STATIC_NULL_VARIABLES
91+
//#define JUCE_ALLOW_STATIC_NULL_VARIABLES 1
92+
#endif
93+
94+
#ifndef JUCE_STRICT_REFCOUNTEDPOINTER
95+
//#define JUCE_STRICT_REFCOUNTEDPOINTER 0
96+
#endif
97+
98+
//==============================================================================
99+
#ifndef JUCE_STANDALONE_APPLICATION
100+
#if defined(JucePlugin_Name) && defined(JucePlugin_Build_Standalone)
101+
#define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone
102+
#else
103+
#define JUCE_STANDALONE_APPLICATION 1
104+
#endif
105+
#endif
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/*
2+
3+
IMPORTANT! This file is auto-generated each time you save your
4+
project - if you alter its contents, your changes may be overwritten!
5+
6+
This is the header file that your files should include in order to get all the
7+
JUCE library headers. You should avoid including the JUCE headers directly in
8+
your own source files, because that wouldn't pick up the correct configuration
9+
options for your app.
10+
11+
*/
12+
13+
#pragma once
14+
15+
#include "AppConfig.h"
16+
17+
#include <juce_core/juce_core.h>
18+
19+
20+
#if ! DONT_SET_USING_JUCE_NAMESPACE
21+
// If your code uses a lot of JUCE classes, then this will obviously save you
22+
// a lot of typing, but can be disabled by setting DONT_SET_USING_JUCE_NAMESPACE.
23+
using namespace juce;
24+
#endif
25+
26+
#if ! JUCE_DONT_DECLARE_PROJECTINFO
27+
namespace ProjectInfo
28+
{
29+
const char* const projectName = "BinaryBuilder";
30+
const char* const companyName = "ROLI Ltd.";
31+
const char* const versionString = "1.0.0";
32+
const int versionNumber = 0x10000;
33+
}
34+
#endif
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
2+
Important Note!!
3+
================
4+
5+
The purpose of this folder is to contain files that are auto-generated by the Projucer,
6+
and ALL files in this folder will be mercilessly DELETED and completely re-written whenever
7+
the Projucer saves your project.
8+
9+
Therefore, it's a bad idea to make any manual changes to the files in here, or to
10+
put any of your own files in here if you don't want to lose them. (Of course you may choose
11+
to add the folder's contents to your version-control system so that you can re-merge your own
12+
modifications after the Projucer has saved its changes).
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
/*
2+
3+
IMPORTANT! This file is auto-generated each time you save your
4+
project - if you alter its contents, your changes may be overwritten!
5+
6+
*/
7+
8+
#include "AppConfig.h"
9+
#include <juce_core/juce_core.cpp>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
/*
2+
3+
IMPORTANT! This file is auto-generated each time you save your
4+
project - if you alter its contents, your changes may be overwritten!
5+
6+
*/
7+
8+
#include "AppConfig.h"
9+
#include <juce_core/juce_core.mm>

0 commit comments

Comments
 (0)