mirror of https://github.com/microsoft/vcpkg.git
93 lines
3.7 KiB
Diff
93 lines
3.7 KiB
Diff
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)
|