Skip to content

Commit c0b60a9

Browse files
committed
BUILD - further improvements
1 parent e6b5111 commit c0b60a9

File tree

3 files changed

+29
-18
lines changed

3 files changed

+29
-18
lines changed

app/api-tests/CMakeLists.txt

+3-3
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@ if(TEST_SOURCES)
4949
SOURCE_GROUP(tests FILES ${TEST_SOURCES})
5050

5151
if(WIN32)
52-
add_custom_command(TARGET ${APP_NAME} POST_BUILD
52+
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
5353
COMMAND ${CMAKE_COMMAND} -E copy_if_different
54-
"${CMAKE_SOURCE_DIR}/build/api/vendor/kissfft-131.1.0/Release/kissfft-float.dll"
55-
$<TARGET_FILE_DIR:${APP_NAME}>)
54+
${API_VENDORED_KISSFFT_DLL}
55+
$<TARGET_FILE_DIR:${PROJECT_NAME}>)
5656

5757
endif()
5858
endif()

app/api/CMakeLists.txt

+25-14
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,27 @@ set(VENDOR_DIR "${API_ROOT}/vendor")
77
set(KISSFFT_TEST OFF CACHE BOOL "Disable kissfft tests" FORCE)
88
set(REPROC++ ON CACHE BOOL "Build reproc++" FORCE)
99

10-
add_subdirectory("${VENDOR_DIR}/PlatformFolders-4.2.0")
11-
add_subdirectory("${VENDOR_DIR}/reproc-14.2.5")
12-
add_subdirectory("${VENDOR_DIR}/kissfft-131.1.0")
13-
10+
# Update these if vendored versions change.
11+
set(KISSFFT_VERSION "kissfft-131.1.0" CACHE INTERNAL "Version string for KissFFT")
12+
set(REPROC_VERSION "reproc-14.2.5" CACHE INTERNAL "Version string for Reproc")
13+
set(PLATFORMFOLDERS_VERSION "PlatformFolders-4.2.0" CACHE INTERNAL "Version string for PlatformFolders")
14+
set(KISSNET_VERSION "kissnet-master-34b751b" CACHE INTERNAL "Version string for Kissnet")
15+
set(GHC_FILESYSTEM_VERSION "ghc_filesystem" CACHE INTERNAL "Version string for ghc_filesystem")
16+
set(TLSF_VERSION "TLSF-2.4.6" CACHE INTERNAL "Version string for TLSF")
17+
18+
# Define the KissFFT DLL path using the defined version.
19+
set(API_VENDORED_KISSFFT_DLL "${VENDOR_DIR}/${KISSFFT_VERSION}/kissfft.dll" PARENT_SCOPE)
20+
21+
# Specify unique binary directories for each vendored project.
22+
add_subdirectory("${VENDOR_DIR}/${PLATFORMFOLDERS_VERSION}" "${CMAKE_BINARY_DIR}/${PLATFORMFOLDERS_VERSION}")
23+
add_subdirectory("${VENDOR_DIR}/${REPROC_VERSION}" "${CMAKE_BINARY_DIR}/${REPROC_VERSION}")
24+
add_subdirectory("${VENDOR_DIR}/${KISSFFT_VERSION}" "${CMAKE_BINARY_DIR}/${KISSFFT_VERSION}")
1425

1526
add_library(ghc_filesystem INTERFACE)
1627
target_include_directories(ghc_filesystem INTERFACE "${VENDOR_DIR}/ghc_filesystem/include")
1728

1829
add_library(kissnet INTERFACE)
19-
target_include_directories(kissnet INTERFACE "${VENDOR_DIR}/kissnet-master-34b751b")
20-
30+
target_include_directories(kissnet INTERFACE "${VENDOR_DIR}/${KISSNET_VERSION}")
2131

2232
set(API_SRC
2333
${API_ROOT}/src/sonicpi_api.cpp
@@ -28,7 +38,7 @@ set(API_SRC
2838
${API_ROOT}/include/api/file_utils.h
2939
${API_ROOT}/include/api/logger.h
3040

31-
${VENDOR_DIR}/TLSF-2.4.6/src/tlsf.c
41+
${VENDOR_DIR}/${TLSF_VERSION}/src/tlsf.c
3242
)
3343

3444
set(OSC_SRC
@@ -85,15 +95,16 @@ endif()
8595
target_include_directories(${PROJECT_NAME}
8696
PUBLIC
8797
${API_ROOT}/include
88-
${VENDOR_DIR}/ghc_filesystem/include
89-
${VENDOR_DIR}/kissnet-master-34b751b
90-
${VENDOR_DIR}/reproc-14.2.5/reproc++/include
91-
${VENDOR_DIR}/PlatformFolders-4.2.0
92-
${VENDOR_DIR}/kissnet-master-34b751b/
93-
${VENDOR_DIR}/kissfft-131.1.0/
98+
99+
${VENDOR_DIR}/${GHC_FILESYSTEM_VERSION}/include
100+
${VENDOR_DIR}/${KISSNET_VERSION}
101+
${VENDOR_DIR}/${REPROC_VERSION}/reproc++/include
102+
${VENDOR_DIR}/${PLATFORMFOLDERS_VERSION}
103+
${VENDOR_DIR}/${KISSNET_VERSION}
104+
${VENDOR_DIR}/${KISSFFT_VERSION}
94105

95106
PRIVATE
96-
${VENDOR_DIR}/TLSF-2.4.6/src
107+
${VENDOR_DIR}/${TLSF_VERSION}/src
97108
)
98109

99110
# Link to the vendored targets

app/gui/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,7 @@ if(WIN32)
372372
# Copy kissfft.dll from the API build directory to the GUI executable directory
373373
add_custom_command(TARGET ${APP_NAME} POST_BUILD
374374
COMMAND ${CMAKE_COMMAND} -E copy_if_different
375-
"${CMAKE_SOURCE_DIR}/build/api/vendor/kissfft-131.1.0/Release/kissfft-float.dll"
375+
${API_VENDORED_KISSFFT_DLL}
376376
$<TARGET_FILE_DIR:${APP_NAME}>)
377377

378378
# Run winddeployqt if it can be found, to ensure installed dependencies

0 commit comments

Comments
 (0)