Skip to content

Commit 442c69d

Browse files
authored
Merge pull request #3141 from lilyinstarlight/fix/revendor-libaubio
Build - partially re-add vendored aubio
2 parents ac7a409 + 91312bf commit 442c69d

File tree

426 files changed

+64307
-15
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

426 files changed

+64307
-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-0.4.9/AUTHORS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Paul Brossier <piem@aubio.org>
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
cmake_minimum_required(VERSION 3.13)
2+
project(aubio C)
3+
4+
add_definitions(
5+
-DHAVE_STDLIB_H=1
6+
-DHAVE_STDIO_H=1
7+
-DHAVE_MATH_H=1
8+
-DHAVE_STRING_H=1
9+
-DHAVE_LIMITS_H=1
10+
-DHAVE_STDARG_H=1
11+
-DHAVE_ERRNO_H=1
12+
-DHAVE_C99_VARARGS_MACROS=1
13+
-DHAVE_SNDFILE=1
14+
-DHAVE_WAVREAD=1
15+
-D_CRT_SECURE_NO_WARNINGS=1
16+
)
17+
18+
find_package(SndFile CONFIG REQUIRED)
19+
20+
include_directories(src)
21+
22+
file(GLOB_RECURSE SOURCES src/*.c)
23+
24+
if(WIN32 AND NOT MINGW)
25+
set_source_files_properties(src/io/sink_wavwrite.c PROPERTIES COMPILE_FLAGS /FIWinsock2.h)
26+
endif()
27+
28+
add_library(aubio ${SOURCES})
29+
30+
target_include_directories(aubio PUBLIC ${SNDFILE_INCLUDE_DIRS})
31+
target_link_libraries(aubio PUBLIC ${SNDFILE_LIBRARIES})
32+
33+
if(WIN32)
34+
target_link_libraries(aubio PUBLIC ws2_32)
35+
endif()
36+
37+
install(
38+
TARGETS aubio
39+
INCLUDES DESTINATION include
40+
RUNTIME DESTINATION bin
41+
LIBRARY DESTINATION lib
42+
ARCHIVE DESTINATION lib
43+
)
44+
45+
install(
46+
DIRECTORY src/
47+
DESTINATION include/aubio
48+
FILES_MATCHING
49+
PATTERN "*.h"
50+
PATTERN "*_priv.h" EXCLUDE
51+
PATTERN "config.h" EXCLUDE
52+
)

0 commit comments

Comments
 (0)