Skip to content

Commit 91312bf

Browse files
Build - use vendored aubio when USE_SYSTEM_LIBS=OFF
1 parent c853f4a commit 91312bf

File tree

5 files changed

+36
-15
lines changed

5 files changed

+36
-15
lines changed

app/external/CMakeLists.txt

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,27 @@ ExternalProject_Add(sp_link
4747
-DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_SOURCE_DIR}/../server/beam/tau/priv
4848
-DERLANG_INCLUDE_PATH=${ERLANG_INCLUDE_PATH}
4949
-DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}
50+
5051
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release
5152
)
5253

54+
if(NOT USE_SYSTEM_LIBS)
55+
find_package(SndFile CONFIG REQUIRED)
56+
57+
ExternalProject_Add(aubio-project
58+
PREFIX aubio-prefix
59+
SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/aubio-0.4.9
60+
61+
INSTALL_DIR ${CMAKE_BINARY_DIR}/aubio-package
62+
63+
CMAKE_ARGS
64+
-DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/aubio-package
65+
# propagate vcpkg information
66+
-DVCPKG_TARGET_TRIPLET=${VCPKG_TARGET_TRIPLET}
67+
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
68+
)
69+
endif()
70+
5371
# Build aubio_onset for server
5472
add_executable(aubio_onset
5573
${CMAKE_CURRENT_LIST_DIR}/aubio/aubioonset.c
@@ -61,10 +79,13 @@ if(USE_SYSTEM_LIBS)
6179
PRIVATE
6280
PkgConfig::aubio)
6381
else()
64-
find_package(Aubio CONFIG REQUIRED)
82+
add_dependencies(aubio_onset aubio-project)
83+
target_include_directories(aubio_onset PRIVATE ${CMAKE_BINARY_DIR}/aubio-package/include)
84+
target_link_directories(aubio_onset PRIVATE ${CMAKE_BINARY_DIR}/aubio-package/lib)
6585
target_link_libraries(aubio_onset
6686
PRIVATE
67-
Aubio::aubio)
87+
aubio
88+
SndFile::sndfile)
6889
endif()
6990
if(UNIX)
7091
target_link_libraries(aubio_onset
@@ -79,6 +100,11 @@ add_library(ExternalsBuilder STATIC externals.cpp)
79100
add_dependencies(ExternalsBuilder aubio_onset)
80101

81102
# Copy prebuilt files
103+
add_custom_command(
104+
TARGET aubio_onset POST_BUILD
105+
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:aubio_onset> ${CMAKE_CURRENT_SOURCE_DIR}/../server/native/
106+
)
107+
82108
if(WIN32)
83109
if(CMAKE_SIZEOF_VOID_P EQUAL 8) # 64-bit
84110
add_custom_command(
@@ -100,8 +126,3 @@ elseif(${CMAKE_SYSTEM_NAME} MATCHES Darwin) # macOS
100126
COMMAND ${CMAKE_COMMAND} -E rm -rf ${CMAKE_CURRENT_SOURCE_DIR}/../server/native/supercollider/extra-plugins
101127
)
102128
endif()
103-
104-
add_custom_command(
105-
TARGET ExternalsBuilder POST_BUILD
106-
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:aubio_onset> ${CMAKE_CURRENT_SOURCE_DIR}/../server/native/
107-
)

app/external/aubio/config.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33
#define HAVE_STDLIB_H 1
44
#define HAVE_STDIO_H 1
5-
#define HAVE_STRING_H 1
65
#define HAVE_MATH_H 1
7-
#define HAVE_ERRNO_H 1
6+
#define HAVE_STRING_H 1
87
#define HAVE_LIMITS_H 1
98
#define HAVE_STDARG_H 1
10-
#define HAVE_MEMCPY_HACKS 1
9+
#define HAVE_ERRNO_H 1
1110
#define HAVE_C99_VARARGS_MACROS 1
11+
#define HAVE_MEMCPY_HACKS 1
1212

1313
#ifdef WIN32
1414
#define HAVE_WIN_HACKS 1

app/linux-pre-vcpkg.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ fi
4343
cd vcpkg
4444

4545
if [ "$no_imgui" == true ]; then
46-
./vcpkg install aubio[core] kissfft crossguid platform-folders reproc catch2 --recurse
46+
./vcpkg install libsndfile kissfft crossguid platform-folders reproc catch2 --recurse
4747
else
48-
./vcpkg install aubio[core] kissfft fmt crossguid sdl2[x11] gl3w reproc gsl-lite concurrentqueue platform-folders catch2 --recurse
48+
./vcpkg install libsndfile kissfft fmt crossguid sdl2[x11] gl3w reproc gsl-lite concurrentqueue platform-folders catch2 --recurse
4949
fi
5050

5151

app/mac-pre-vcpkg.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ cd vcpkg
4444
triplet=(x64-osx)
4545

4646
if [ "$no_imgui" == true ]; then
47-
./vcpkg install aubio[core] kissfft crossguid platform-folders reproc catch2 --triplet ${triplet[0]} --recurse
47+
./vcpkg install libsndfile kissfft crossguid platform-folders reproc catch2 --triplet ${triplet[0]} --recurse
4848
else
49-
./vcpkg install aubio[core] kissfft fmt sdl2 gl3w reproc gsl-lite concurrentqueue platform-folders catch2 --triplet ${triplet[0]} --recurse
49+
./vcpkg install libsndfile kissfft fmt sdl2 gl3w reproc gsl-lite concurrentqueue platform-folders catch2 --triplet ${triplet[0]} --recurse
5050
fi
5151

5252

app/win-pre-vcpkg.bat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ if not exist "vcpkg\vcpkg.exe" (
1717

1818
cd vcpkg
1919
@echo Installing Libraries
20-
vcpkg install aubio[core] kissfft fmt crossguid sdl2 gl3w reproc gsl-lite concurrentqueue platform-folders catch2 --triplet x64-windows-static-md --recurse
20+
vcpkg install libsndfile kissfft fmt crossguid sdl2 gl3w reproc gsl-lite concurrentqueue platform-folders catch2 --triplet x64-windows-static-md --recurse
2121

2222
cd %WORKING_DIR%

0 commit comments

Comments
 (0)