Skip to content
This repository was archived by the owner on Feb 7, 2026. It is now read-only.

Commit 5b67d20

Browse files
committed
tweaked fetch content code
- see https://discourse.cmake.org/t/prevent-fetchcontent-makeavailable for details
1 parent ed54169 commit 5b67d20

6 files changed

Lines changed: 33 additions & 28 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Check the [Quickstart](https://jamba.dev/quickstart/) section to getting started
4747
Latest Release
4848
--------------
4949

50-
7.1.2 | 2024-11-26 | VST SDK 3.7.12+
50+
7.1.3 | 2024-12-01 | VST SDK 3.7.12+
5151

5252
[Release notes (local)](RELEASE.md)
5353

RELEASE.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ Release Notes {#release-notes}
33

44
Check the [Requirements](https://jamba.dev/requirements/) documentation for information about which VST3 SDK Jamba supports and how to get it.
55

6+
## [7.1.3 | 2024-12-01](https://github.com/pongasoft/jamba/tree/v7.1.3)
7+
8+
* Use `FetchContent_Populate`/`FetchContent_MakeAvailable` with `SOURCE_SUBDIR` option (see [CMake discussion](https://discourse.cmake.org/t/prevent-fetchcontent-makeavailable-to-execute-cmakelists-txt))
9+
610
## [7.1.2 | 2024-11-26](https://github.com/pongasoft/jamba/tree/v7.1.2)
711

812
* Fixes issues with some DAWs on Windows when using the bundle format

blank-plugin/fetch_jamba.cmake

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,35 +9,33 @@ set(JAMBA_DOWNLOAD_URL_HASH "[-jamba_download_url_hash-]" CACHE STRING "Jamba do
99

1010
if(JAMBA_ROOT_DIR)
1111
message(STATUS "Using jamba from local ${JAMBA_ROOT_DIR}")
12-
FetchContent_Populate(jamba
13-
QUIET
14-
SOURCE_DIR "${JAMBA_ROOT_DIR}"
15-
BINARY_DIR "${CMAKE_BINARY_DIR}/jamba-build"
12+
FetchContent_Declare(jamba
13+
SOURCE_DIR "${JAMBA_ROOT_DIR}"
14+
SOURCE_SUBDIR "do_not_make_available" # invalid folder to not execute jamba/CMakeLists.txt
1615
)
1716
else()
1817
if(JAMBA_DOWNLOAD_URL STREQUAL "" OR JAMBA_DOWNLOAD_URL_HASH STREQUAL "")
1918
message(STATUS "Fetching jamba from ${JAMBA_GIT_REPO}/tree/${JAMBA_GIT_TAG}")
20-
FetchContent_Populate(jamba
21-
QUIET
19+
FetchContent_Declare(jamba
2220
GIT_REPOSITORY ${JAMBA_GIT_REPO}
2321
GIT_TAG ${JAMBA_GIT_TAG}
2422
GIT_CONFIG advice.detachedHead=false
2523
GIT_SHALLOW true
2624
SOURCE_DIR "${CMAKE_BINARY_DIR}/jamba"
27-
BINARY_DIR "${CMAKE_BINARY_DIR}/jamba-build"
25+
SOURCE_SUBDIR "do_not_make_available"
2826
)
2927
else()
3028
message(STATUS "Fetching jamba from ${JAMBA_DOWNLOAD_URL}")
31-
FetchContent_Populate(jamba
32-
QUIET
29+
FetchContent_Declare(jamba
3330
URL "${JAMBA_DOWNLOAD_URL}"
3431
URL_HASH "${JAMBA_DOWNLOAD_URL_HASH}"
3532
DOWNLOAD_EXTRACT_TIMESTAMP true
3633
SOURCE_DIR "${CMAKE_BINARY_DIR}/jamba"
37-
BINARY_DIR "${CMAKE_BINARY_DIR}/jamba-build"
34+
SOURCE_SUBDIR "do_not_make_available"
3835
)
3936
endif()
4037
endif()
4138

42-
set(JAMBA_ROOT_DIR ${jamba_SOURCE_DIR})
39+
FetchContent_MakeAvailable(jamba)
4340

41+
set(JAMBA_ROOT_DIR ${jamba_SOURCE_DIR})

cmake/JambaFetchContent.cmake

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ cmake_minimum_required(VERSION 3.19)
1818

1919
include(FetchContent)
2020

21+
# Note that this function only fetches the content and does NOT make it available
2122
function(jamba_fetch_content)
2223
set(oneValueArgs NAME GIT_REPO GIT_TAG DOWNLOAD_URL DOWNLOAD_URL_HASH ROOT_DIR)
2324

@@ -54,36 +55,38 @@ function(jamba_fetch_content)
5455

5556
if(ARG_ROOT_DIR)
5657
message(STATUS "Using ${ARG_NAME} from local ${ARG_ROOT_DIR}")
57-
FetchContent_Populate(${ARG_NAME}
58-
QUIET
59-
SOURCE_DIR "${ARG_ROOT_DIR}"
60-
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/${ARG_NAME}-build"
58+
FetchContent_Declare(${ARG_NAME}
59+
SOURCE_DIR "${ARG_ROOT_DIR}"
60+
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/${ARG_NAME}-build"
61+
SOURCE_SUBDIR "do_not_make_available" # invalid folder to not execute CMakeLists.txt
6162
)
6263
else()
6364
if(ARG_DOWNLOAD_URL)
6465
message(STATUS "Fetching ${ARG_NAME} from ${ARG_DOWNLOAD_URL}")
65-
FetchContent_Populate( ${ARG_NAME}
66-
QUIET
66+
FetchContent_Declare( ${ARG_NAME}
6767
URL "${ARG_DOWNLOAD_URL}"
6868
URL_HASH "${ARG_DOWNLOAD_URL_HASH}"
6969
SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/${ARG_NAME}-src"
7070
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/${ARG_NAME}-build"
7171
DOWNLOAD_EXTRACT_TIMESTAMP true
72+
SOURCE_SUBDIR "do_not_make_available"
7273
)
7374
else()
7475
message(STATUS "Fetching ${ARG_NAME} from ${ARG_GIT_REPO}/tree/${ARG_GIT_TAG}")
75-
FetchContent_Populate(${ARG_NAME}
76-
QUIET
77-
GIT_REPOSITORY ${ARG_GIT_REPO}
78-
GIT_TAG ${ARG_GIT_TAG}
79-
GIT_CONFIG advice.detachedHead=false
80-
GIT_SHALLOW true
81-
SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/${ARG_NAME}-src"
82-
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/${ARG_NAME}-build"
76+
FetchContent_Declare(${ARG_NAME}
77+
GIT_REPOSITORY ${ARG_GIT_REPO}
78+
GIT_TAG ${ARG_GIT_TAG}
79+
GIT_CONFIG advice.detachedHead=false
80+
GIT_SHALLOW true
81+
SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/${ARG_NAME}-src"
82+
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/${ARG_NAME}-build"
83+
SOURCE_SUBDIR "do_not_make_available"
8384
)
8485
endif()
8586
endif()
8687

88+
FetchContent_MakeAvailable(${ARG_NAME})
89+
8790
set(${ARG_NAME}_ROOT_DIR "${${ARG_NAME}_SOURCE_DIR}" PARENT_SCOPE)
8891
set(${ARG_NAME}_SOURCE_DIR "${${ARG_NAME}_SOURCE_DIR}" PARENT_SCOPE)
8992
set(${ARG_NAME}_BINARY_DIR "${${ARG_NAME}_BINARY_DIR}" PARENT_SCOPE)

cmake/JambaFetchVST3.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ if(EXISTS "${VST3_SDK_ROOT}/${VSTSDK3_KNOWN_FILE}")
8484
set(vst3sdk_SOURCE_DIR "${VST3_SDK_ROOT}")
8585
endif()
8686
elseif(JAMBA_DOWNLOAD_VSTSDK)
87-
jamba_fetch_content(NAME vst3sdk GIT_REPO "${JAMBA_VST3SDK_GIT_REPO}" GIT_TAG "${JAMBA_VST3SDK_GIT_TAG}")
87+
jamba_fetch_content(NAME vst3sdk GIT_REPO "${JAMBA_VST3SDK_GIT_REPO}" GIT_TAG "${JAMBA_VST3SDK_GIT_TAG}")
8888
if(EXISTS "${JAMBA_VST3SDK_PATCH_DIR}")
8989
internal_jamba_patch_vst3sdk("${JAMBA_VST3SDK_PATCH_DIR}" "${vst3sdk_SOURCE_DIR}")
9090
else()

jamba.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ endif()
4646
#------------------------------------------------------------------------
4747
set(JAMBA_MAJOR_VERSION 7)
4848
set(JAMBA_MINOR_VERSION 1)
49-
set(JAMBA_PATCH_VERSION 2)
49+
set(JAMBA_PATCH_VERSION 3)
5050
execute_process(COMMAND git describe --long --dirty --abbrev=10 --tags
5151
RESULT_VARIABLE result
5252
OUTPUT_VARIABLE JAMBA_GIT_VERSION

0 commit comments

Comments
 (0)