-
Notifications
You must be signed in to change notification settings - Fork 24
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #17 from sauraen/Juce6Refactor
SEQ64 V2.0 refactor: Music Macro Language assembly import/export
- Loading branch information
Showing
1,102 changed files
with
11,678 additions
and
437,894 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
.DS_Store | ||
build/ | ||
build_windows/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
[submodule "juce"] | ||
path = juce | ||
url = https://github.com/juce-framework/JUCE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,117 @@ | ||
# CMakeLists.txt | ||
# CMake build configuration | ||
# | ||
# From seq64 - Sequenced music editor for first-party N64 games | ||
# Copyright (C) 2014-2021 Sauraen | ||
# | ||
# This program is free software: you can redistribute it and/or modify | ||
# it under the terms of the GNU General Public License as published by | ||
# the Free Software Foundation, either version 3 of the License, or | ||
# (at your option) any later version. | ||
# | ||
# This program is distributed in the hope that it will be useful, | ||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
# GNU General Public License for more details. | ||
# | ||
# You should have received a copy of the GNU General Public License | ||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
|
||
cmake_minimum_required(VERSION 3.12) | ||
|
||
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "" FORCE) | ||
set(CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE} CACHE STRING "" FORCE) | ||
|
||
project(SEQ64 VERSION 2.0.0) | ||
|
||
# Version selection setup | ||
|
||
option(SEQ64_CONSOLE_ONLY "Whether SEQ64 should build console version only" OFF) | ||
option(SEQ64_BUILD_GUI "Whether SEQ64 should build console and GUI versions" OFF) | ||
|
||
if(SEQ64_CONSOLE_ONLY) | ||
set(SEQ64_BUILD_GUI OFF CACHE BOOL "" FORCE) | ||
elseif(NOT SEQ64_BUILD_GUI) | ||
if(WIN32 OR APPLE) | ||
set(SEQ64_BUILD_GUI ON) | ||
else() | ||
# On Linux and neither was set. Detect whether we are on a console-only | ||
# machine (i.e. WSL) by seeing if an X server is running or not. | ||
execute_process(COMMAND "xset" "q" TIMEOUT 0.5 OUTPUT_QUIET ERROR_QUIET | ||
RESULT_VARIABLE result) | ||
if(result) | ||
# There was an error, so no GUI | ||
message(STATUS "Could not find X server, building console only") | ||
set(SEQ64_CONSOLE_ONLY TRUE) | ||
else() | ||
message(STATUS "Found X server, building GUI") | ||
set(SEQ64_BUILD_GUI TRUE) | ||
endif() | ||
endif() | ||
endif() | ||
|
||
# SEQ64 sources | ||
|
||
add_subdirectory(Source) | ||
list(TRANSFORM SEQ64_SHARED_SOURCES PREPEND "Source/") | ||
list(TRANSFORM SEQ64_CONSOLE_ONLY_SOURCES PREPEND "Source/") | ||
list(TRANSFORM SEQ64_GUI_ONLY_SOURCES PREPEND "Source/") | ||
|
||
if(WIN32) | ||
set(SEQ64_COMPILE_OPTIONS "/W2" "/O2") | ||
else() | ||
set(SEQ64_COMPILE_OPTIONS "-Wall" "-Wextra" "-Wno-sign-compare" "-Wno-sign-conversion" "-O3") | ||
endif() | ||
|
||
# Console version | ||
|
||
add_executable(seq64_console | ||
${SEQ64_SHARED_SOURCES} | ||
${SEQ64_CONSOLE_ONLY_SOURCES} | ||
"juce/modules/juce_core/juce_core.cpp" | ||
"juce/modules/juce_events/juce_events.cpp" | ||
"juce/modules/juce_audio_basics/juce_audio_basics.cpp" | ||
"juce/modules/juce_data_structures/juce_data_structures.cpp" | ||
) | ||
target_include_directories(seq64_console PRIVATE | ||
"Source" | ||
"juce/modules" | ||
) | ||
target_compile_definitions(seq64_console PRIVATE | ||
JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1 | ||
JUCE_WEB_BROWSER=0 | ||
JUCE_USE_CURL=0 | ||
SEQ64_CONSOLE_ONLY=1 | ||
) | ||
target_compile_options(seq64_console PRIVATE ${SEQ64_COMPILE_OPTIONS}) | ||
if(UNIX AND NOT APPLE) | ||
set(THREADS_PREFER_PTHREAD_FLAG ON) | ||
find_package(Threads REQUIRED) | ||
target_link_libraries(seq64_console Threads::Threads ${CMAKE_DL_LIBS}) | ||
endif() | ||
|
||
# GUI version | ||
|
||
if(SEQ64_BUILD_GUI) | ||
add_subdirectory(juce) | ||
|
||
juce_add_gui_app(seq64_gui PRODUCT_NAME "seq64_gui" COMPANY_NAME "Sauraen") | ||
juce_generate_juce_header(seq64_gui) | ||
target_sources(seq64_gui PRIVATE ${SEQ64_SHARED_SOURCES} ${SEQ64_GUI_ONLY_SOURCES}) | ||
target_compile_definitions(seq64_gui PRIVATE | ||
JUCE_WEB_BROWSER=0 | ||
JUCE_USE_CURL=0 | ||
JUCE_DISPLAY_SPLASH_SCREEN=0 | ||
JUCE_APPLICATION_NAME_STRING="SEQ64 V2.0" | ||
JUCE_APPLICATION_VERSION_STRING="V2.0" | ||
) | ||
target_link_libraries(seq64_gui PRIVATE | ||
juce::juce_core | ||
juce::juce_audio_basics | ||
juce::juce_data_structures | ||
juce::juce_events | ||
juce::juce_graphics | ||
juce::juce_gui_basics | ||
) | ||
target_compile_options(seq64_gui PRIVATE ${SEQ64_COMPILE_OPTIONS}) | ||
endif() |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.