aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/juce/juceaide.diff
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/juce/juceaide.diff')
-rw-r--r--vcpkg/ports/juce/juceaide.diff92
1 files changed, 92 insertions, 0 deletions
diff --git a/vcpkg/ports/juce/juceaide.diff b/vcpkg/ports/juce/juceaide.diff
new file mode 100644
index 0000000..d868abf
--- /dev/null
+++ b/vcpkg/ports/juce/juceaide.diff
@@ -0,0 +1,92 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 49d85c6..76209f5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,3 +1,5 @@
++# Save cmake input for nested juceaide build
++get_cmake_property(vcpkg_input_vars CACHE_VARIABLES)
+ # ==============================================================================
+ #
+ # This file is part of the JUCE framework.
+@@ -142,7 +144,10 @@ set(JUCE_INSTALL_DESTINATION "lib/cmake/JUCE-${JUCE_VERSION}" CACHE STRING
+
+ set(JUCE_MODULE_PATH "include/JUCE-${JUCE_VERSION}/modules")
+ set(UTILS_INSTALL_DIR "${JUCE_INSTALL_DESTINATION}")
+-set(JUCEAIDE_PATH "${JUCE_TOOL_INSTALL_DIR}/${JUCE_JUCEAIDE_NAME}")
++set(JUCEAIDE_PATH "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/tools/juce/${JUCE_JUCEAIDE_NAME}")
++if(WITH_JUCEAIDE)
++ set(JUCEAIDE_PATH "${WITH_JUCEAIDE}")
++endif()
+ configure_package_config_file("${JUCE_CMAKE_UTILS_DIR}/JUCEConfig.cmake.in"
+ "${JUCE_BINARY_DIR}/JUCEConfig.cmake"
+ PATH_VARS UTILS_INSTALL_DIR JUCEAIDE_PATH JUCE_MODULE_PATH
+diff --git a/extras/Build/juceaide/CMakeLists.txt b/extras/Build/juceaide/CMakeLists.txt
+index 17e5520974..b8cab564ec 100644
+--- a/extras/Build/juceaide/CMakeLists.txt
++++ b/extras/Build/juceaide/CMakeLists.txt
+@@ -60,6 +60,11 @@ if(JUCE_BUILD_HELPER_TOOLS)
+ export(TARGETS juceaide
+ NAMESPACE juce_tools::
+ FILE "${JUCE_BINARY_DIR}/JUCEToolsExport.cmake")
++
++elseif(WITH_JUCEAIDE)
++ add_executable(juceaide IMPORTED GLOBAL)
++ set_target_properties(juceaide PROPERTIES IMPORTED_LOCATION "${WITH_JUCEAIDE}")
++ add_executable(juce::juceaide ALIAS juceaide)
+ else()
+ message(STATUS "Configuring juceaide")
+
+@@ -124,14 +129,25 @@ else()
+ list(APPEND PASSTHROUGH_ARGS "-DCMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER}")
+ endif()
+
++ list(REMOVE_ITEM vcpkg_input_vars "JUCE_BUILD_EXTRAS")
++ foreach(var IN LISTS vcpkg_input_vars)
++ list(APPEND PASSTHROUGH_ARGS "-D${var}=$CACHE{${var}}")
++ endforeach()
++
++ if (NOT DEFINED CMAKE_BUILD_TYPE)
++ set(JUCE_JUCEAIDE_BUILD_TYPE "Release")
++ else()
++ set(JUCE_JUCEAIDE_BUILD_TYPE "${CMAKE_BUILD_TYPE}")
++ endif()
++
+ # Looks like we're bootstrapping, reinvoke CMake
+ execute_process(COMMAND "${CMAKE_COMMAND}"
+ "."
+ "-B${JUCE_BINARY_DIR}/tools"
+ "-G${CMAKE_GENERATOR}"
+ "-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}"
+- "-DCMAKE_CONFIGURATION_TYPES=Custom"
+- "-DCMAKE_BUILD_TYPE=Custom"
++ "-DCMAKE_CONFIGURATION_TYPES=${JUCE_JUCEAIDE_BUILD_TYPE}"
++ "-DCMAKE_BUILD_TYPE=${JUCE_JUCEAIDE_BUILD_TYPE}"
+ "-DJUCE_BUILD_HELPER_TOOLS=ON"
+ "-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}"
+ ${PASSTHROUGH_ARGS}
+@@ -148,7 +164,8 @@ else()
+
+ execute_process(COMMAND "${CMAKE_COMMAND}"
+ --build "${JUCE_BINARY_DIR}/tools"
+- --config Custom
++ --config ${JUCE_JUCEAIDE_BUILD_TYPE}
++ --target juceaide
+ OUTPUT_VARIABLE command_output
+ ERROR_VARIABLE command_output
+ RESULT_VARIABLE result_variable)
+@@ -163,7 +180,14 @@ else()
+ include("${JUCE_BINARY_DIR}/tools/JUCEToolsExport.cmake")
+
+ add_executable(juceaide IMPORTED GLOBAL)
+- get_target_property(imported_location juce_tools::juceaide IMPORTED_LOCATION_CUSTOM)
++
++ string(TOUPPER ${JUCE_JUCEAIDE_BUILD_TYPE} JUCE_JUCEAIDE_BUILD_TYPE_UPPER)
++
++ get_target_property(imported_location juce_tools::juceaide IMPORTED_LOCATION_${JUCE_JUCEAIDE_BUILD_TYPE_UPPER})
++ if(NOT imported_location)
++ message(FATAL_ERROR "Failed to find imported location for juceaide")
++ endif()
++
+ set_target_properties(juceaide PROPERTIES IMPORTED_LOCATION "${imported_location}")
+
+ add_executable(juce::juceaide ALIAS juceaide)