mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-09 23:34:20 +00:00
CMake: Include helper targets, rather than exporting them
This change should mean that if JUCE is installed using one compiler (e.g. clang) and then consumed in a build that uses a different compiler (e.g. gcc), the helper targets will use the correct flags for both compilers.
This commit is contained in:
parent
eaf2dd5ef8
commit
a3b68f5c60
4 changed files with 4 additions and 15 deletions
|
|
@ -30,7 +30,6 @@ set_property(GLOBAL PROPERTY USE_FOLDERS YES)
|
|||
set(JUCE_MODULES_DIR "${JUCE_SOURCE_DIR}/modules" CACHE INTERNAL
|
||||
"The path to JUCE modules")
|
||||
|
||||
include(extras/Build/CMake/JUCEHelperTargets.cmake)
|
||||
include(extras/Build/CMake/JUCEUtils.cmake)
|
||||
|
||||
juce_disable_default_flags()
|
||||
|
|
@ -96,8 +95,6 @@ write_basic_package_version_file("${JUCE_BINARY_DIR}/JUCEConfigVersion.cmake"
|
|||
set(JUCE_INSTALL_DESTINATION "lib/cmake/JUCE-${JUCE_VERSION}" CACHE STRING
|
||||
"The location, relative to the install prefix, where the JUCE config file will be installed")
|
||||
|
||||
install(EXPORT JUCE NAMESPACE juce:: DESTINATION "${JUCE_INSTALL_DESTINATION}")
|
||||
set(JUCE_EXPORT_FILE_NAME "JUCE.cmake")
|
||||
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}")
|
||||
|
|
@ -106,9 +103,7 @@ configure_package_config_file("${JUCE_CMAKE_UTILS_DIR}/JUCEConfig.cmake.in"
|
|||
PATH_VARS UTILS_INSTALL_DIR JUCEAIDE_PATH JUCE_MODULE_PATH
|
||||
INSTALL_DESTINATION "${JUCE_INSTALL_DESTINATION}")
|
||||
|
||||
set(JUCE_EXPORT_FILE_NAME "JUCEBuildTree.cmake")
|
||||
set(JUCE_MODULE_PATH "${JUCE_MODULES_DIR}")
|
||||
export(EXPORT JUCE NAMESPACE juce:: FILE "${JUCE_EXPORT_FILE_NAME}")
|
||||
set(UTILS_INSTALL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/extras/Build/CMake")
|
||||
get_target_property(JUCEAIDE_PATH juceaide IMPORTED_LOCATION)
|
||||
configure_package_config_file("${JUCE_CMAKE_UTILS_DIR}/JUCEConfig.cmake.in"
|
||||
|
|
@ -126,5 +121,6 @@ install(FILES "${JUCE_BINARY_DIR}/JUCEConfigVersion.cmake"
|
|||
"${JUCE_CMAKE_UTILS_DIR}/RecentFilesMenuTemplate.nib"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/UnityPluginGUIScript.cs.in"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/copyDir.cmake"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/JUCEHelperTargets.cmake"
|
||||
"${JUCE_CMAKE_UTILS_DIR}/JUCEUtils.cmake"
|
||||
DESTINATION "${JUCE_INSTALL_DESTINATION}")
|
||||
|
|
|
|||
|
|
@ -20,8 +20,6 @@
|
|||
|
||||
@PACKAGE_INIT@
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/@JUCE_EXPORT_FILE_NAME@")
|
||||
|
||||
if(NOT TARGET juce::juceaide)
|
||||
add_executable(juce::juceaide IMPORTED)
|
||||
set_target_properties(juce::juceaide PROPERTIES
|
||||
|
|
|
|||
|
|
@ -28,8 +28,6 @@ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
|||
endif()
|
||||
endif()
|
||||
|
||||
install(TARGETS juce_recommended_warning_flags EXPORT JUCE)
|
||||
|
||||
# ==================================================================================================
|
||||
|
||||
add_library(juce_recommended_config_flags INTERFACE)
|
||||
|
|
@ -37,8 +35,7 @@ add_library(juce::juce_recommended_config_flags ALIAS juce_recommended_config_fl
|
|||
|
||||
if((CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") OR (CMAKE_CXX_SIMULATE_ID STREQUAL "MSVC"))
|
||||
target_compile_options(juce_recommended_config_flags INTERFACE
|
||||
$<$<CONFIG:Debug>:/Od /MP /EHsc>
|
||||
$<$<CONFIG:Release>:/Ox /MP /EHsc>)
|
||||
$<IF:$<CONFIG:Debug>,/Od,/Ox> $<$<STREQUAL:"${CMAKE_CXX_COMPILER_ID}","MSVC">:/MP> /EHsc)
|
||||
elseif((CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||
OR (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
||||
OR (CMAKE_CXX_COMPILER_ID STREQUAL "GNU"))
|
||||
|
|
@ -47,8 +44,6 @@ elseif((CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
|||
$<$<CONFIG:Release>:-O3>)
|
||||
endif()
|
||||
|
||||
install(TARGETS juce_recommended_config_flags EXPORT JUCE)
|
||||
|
||||
# ==================================================================================================
|
||||
|
||||
add_library(juce_recommended_lto_flags INTERFACE)
|
||||
|
|
@ -63,5 +58,3 @@ elseif((CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
|||
target_compile_options(juce_recommended_lto_flags INTERFACE $<$<CONFIG:Release>:-flto>)
|
||||
target_link_libraries(juce_recommended_lto_flags INTERFACE $<$<CONFIG:Release>:-flto>)
|
||||
endif()
|
||||
|
||||
install(TARGETS juce_recommended_lto_flags EXPORT JUCE)
|
||||
|
|
|
|||
|
|
@ -133,6 +133,8 @@ endif()
|
|||
set(JUCE_CMAKE_UTILS_DIR ${CMAKE_CURRENT_LIST_DIR}
|
||||
CACHE INTERNAL "The path to the folder holding this file and other resources")
|
||||
|
||||
include("${JUCE_CMAKE_UTILS_DIR}/JUCEHelperTargets.cmake")
|
||||
|
||||
# We set up default/fallback copy dirs here. If you need different copy dirs, use
|
||||
# set_directory_properties or set_target_properties to adjust the values of `JUCE_*_COPY_DIR` at
|
||||
# the appropriate scope.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue