@@ -3,6 +3,21 @@ cmake_minimum_required(VERSION 3.13)
33
44message (STATUS " Aubio Builder" )
55
6+ if (WIN32 )
7+ set (ERLANG_INCLUDE_PATH ${CMAKE_CURRENT_SOURCE_DIR} /../../prebuilt/windows/headers/erlang CACHE STRING "Path to the Erlang header files" )
8+ elseif (${CMAKE_SYSTEM_NAME} MATCHES Darwin) # macOS
9+ set (ERLANG_INCLUDE_PATH ${CMAKE_CURRENT_SOURCE_DIR} /../../prebuilt/macos/headers/erlang CACHE STRING "Path to the Erlang header files" )
10+ else ()
11+ execute_process (
12+ COMMAND erl -noshell -eval "io:format(\" ~s~n\" , [filename:join([lists:concat([code:root_dir(), \" /erts-\" , erlang:system_info(version)]), \" include\" ])]), init:stop(0)."
13+ OUTPUT_VARIABLE FOUND_ERLANG_INCLUDE_PATH OUTPUT_STRIP_TRAILING_WHITESPACE)
14+ set (ERLANG_INCLUDE_PATH ${FOUND_ERLANG_INCLUDE_PATH} CACHE STRING "Path to the Erlang header files" )
15+ endif ()
16+ option (USE_SYSTEM_LIBS "Use system libraries instead of bundled libraries when building" OFF )
17+
18+ message (STATUS "ERLANG_INCLUDE_PATH: ${ERLANG_INCLUDE_PATH} " )
19+ message (STATUS "USE_SYSTEM_LIBS: ${USE_SYSTEM_LIBS} " )
20+
621project (AubioBuilder
722 LANGUAGES CXX C
823 VERSION 1.0.0
@@ -17,8 +32,9 @@ project(AubioBuilder
1732ExternalProject_Add(sp_midi
1833 PREFIX sp_midi-prefix
1934 SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR} /sp_midi
20- INSTALL_COMMAND ""
35+ INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR} /../server/beam/tau/priv
2136 CMAKE_ARGS
37+ -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_SOURCE_DIR} /../server/beam/tau/priv
2238 -DERLANG_INCLUDE_PATH=${ERLANG_INCLUDE_PATH}
2339 -DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}
2440 -DUSE_SYSTEM_RTMIDI=${USE_SYSTEM_LIBS}
@@ -28,8 +44,9 @@ ExternalProject_Add(sp_midi
2844ExternalProject_Add(sp_link
2945 PREFIX sp_link-prefix
3046 SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR} /sp_link
31- INSTALL_COMMAND ""
47+ INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR} /../server/beam/tau/priv
3248 CMAKE_ARGS
49+ -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_SOURCE_DIR} /../server/beam/tau/priv
3350 -DERLANG_INCLUDE_PATH=${ERLANG_INCLUDE_PATH}
3451 -DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}
3552 BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release
@@ -142,11 +159,35 @@ ExternalProject_Add(aubio
142159 -DPC_VORBISENC_INCLUDE_DIRS=${CMAKE_BINARY_DIR} /vorbis-package/include
143160 -DPC_OPUS_INCLUDE_DIRS=${CMAKE_BINARY_DIR} /opus-package/include
144161 -DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}
145- INSTALL_COMMAND ""
162+ INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR} /../server/native
163+ CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_SOURCE_DIR} /../server/native
146164 )
147165
148166# Kick off a generation by making a dummy/empty project
149167add_library (AubioBuilder STATIC externals.cpp)
150168
151169# Dependency ensures the externals are built
152170add_dependencies (AubioBuilder aubio)
171+
172+ # Copy prebuilt files
173+ if (WIN32 )
174+ if (CMAKE_SIZEOF_VOID_P EQUAL 8) # 64-bit
175+ add_custom_command (
176+ TARGET AubioBuilder PRE_BUILD
177+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR} /../../prebuilt/windows/x64/ ${CMAKE_CURRENT_SOURCE_DIR} /../server/native/
178+ )
179+ elseif (CMAKE_SIZEOF_VOID_P EQUAL 4) # 32-bit
180+ add_custom_command (
181+ TARGET AubioBuilder PRE_BUILD
182+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR} /../../prebuilt/windows/x86/ ${CMAKE_CURRENT_SOURCE_DIR} /../server/native/
183+ )
184+ endif ()
185+ elseif (${CMAKE_SYSTEM_NAME} MATCHES Darwin) # macOS
186+ add_custom_command (
187+ TARGET AubioBuilder PRE_BUILD
188+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR} /../../prebuilt/macos/x64/ ${CMAKE_CURRENT_SOURCE_DIR} /../server/native/
189+ COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_CURRENT_SOURCE_DIR} /../server/native/supercollider/scsynth ${CMAKE_CURRENT_SOURCE_DIR} /../server/native/scsynth
190+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR} /../server/native/supercollider/extra-plugins/ ${CMAKE_CURRENT_SOURCE_DIR} /../server/native/supercollider/plugins/
191+ COMMAND ${CMAKE_COMMAND} -E rm -rf ${CMAKE_CURRENT_SOURCE_DIR} /../server/native/supercollider/extra-plugins
192+ )
193+ endif ()
0 commit comments