diff --git a/modules/FindCorrade.cmake b/modules/FindCorrade.cmake index 3f2f43cd2..7f4dd11af 100644 --- a/modules/FindCorrade.cmake +++ b/modules/FindCorrade.cmake @@ -16,13 +16,17 @@ # components, which are: # # Containers - Containers library -# Interconnect - Interconnect library # Main - Main library # PluginManager - PluginManager library # TestSuite - TestSuite library # Utility - Utility library # rc - corrade-rc executable # +# If Corrade is built with CORRADE_BUILD_DEPRECATED enabled, these additional +# libraries are available for backwards compatibility purposes: +# +# Interconnect - Interconnect library +# # Example usage with specifying additional components is:: # # find_package(Corrade REQUIRED Utility TestSuite) @@ -376,7 +380,7 @@ set(CORRADE_LIB_SUFFIX_MODULE ${_CORRADE_MODULE_DIR}/CorradeLibSuffix.cmake) # Component distinction (listing them explicitly to avoid mistakes with finding # unknown components) set(_CORRADE_LIBRARY_COMPONENTS - Containers Interconnect Main PluginManager TestSuite Utility) + Containers Main PluginManager TestSuite Utility) # These libraries are excluded from DLL detection if Corrade is built as shared set(_CORRADE_LIBRARY_COMPONENTS_ALWAYS_STATIC Main) @@ -389,15 +393,21 @@ set(_CORRADE_EXECUTABLE_COMPONENTS rc) # Currently everything is enabled implicitly. Keep in sync with Corrade's root # CMakeLists.txt. set(_CORRADE_IMPLICITLY_ENABLED_COMPONENTS - Containers Interconnect Main PluginManager TestSuite Utility rc) + Containers Main PluginManager TestSuite Utility rc) # Inter-component dependencies set(_CORRADE_Containers_DEPENDENCIES Utility) -set(_CORRADE_Interconnect_DEPENDENCIES Containers Utility) set(_CORRADE_PluginManager_DEPENDENCIES Containers Utility rc) set(_CORRADE_TestSuite_DEPENDENCIES Containers Utility Main) # see below set(_CORRADE_Utility_DEPENDENCIES Containers rc) +# Interconnect available only on a deprecated build +if(CORRADE_BUILD_DEPRECATED) + list(APPEND _CORRADE_LIBRARY_COMPONENTS Interconnect) + list(APPEND _CORRADE_IMPLICITLY_ENABLED_COMPONENTS Interconnect) + set(_CORRADE_Interconnect_DEPENDENCIES Containers Utility) +endif() + # Ensure that all inter-component dependencies are specified as well foreach(_component ${Corrade_FIND_COMPONENTS}) # Mark the dependencies as required if the component is also required @@ -615,6 +625,7 @@ foreach(_component ${Corrade_FIND_COMPONENTS}) # No special setup for Containers library # Interconnect library + # TODO: drop once Interconnect is not a thing anymore if(_component STREQUAL Interconnect) # Disable /OPT:ICF on MSVC, which merges functions with identical # contents and thus breaks signal comparison. Same case is for