diff --git a/cmake/template/YARPConfig.cmake.in b/cmake/template/YARPConfig.cmake.in index 20c4d22a6ed..5363dbce5dc 100644 --- a/cmake/template/YARPConfig.cmake.in +++ b/cmake/template/YARPConfig.cmake.in @@ -129,6 +129,10 @@ if (CMAKE_VERSION VERSION_LESS 3.9) endif() endif() +# Provide YARP's own module search paths for internal use by find_package() +set(_CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}) +list(APPEND CMAKE_MODULE_PATH ${YARP_MODULE_PATH}) + # Include YARPTargets.cmake file (that includes for now, targets without a # specific destination if(NOT TARGET YARP::yarpidl_thrift) @@ -164,6 +168,10 @@ foreach(_module ${YARP_FIND_COMPONENTS}) list(APPEND YARP_LIBRARIES YARP::YARP_${_module}) endforeach() +# Restore the original situation +set(CMAKE_MODULE_PATH ${_CMAKE_MODULE_PATH}) +unset(_CMAKE_MODULE_PATH) + # Ensure that all requested modules are available check_required_components(YARP) diff --git a/cmake/template/YARPTargetsStatic.cmake.in b/cmake/template/YARPTargetsStatic.cmake.in index 175bffca07c..150c0711c8b 100644 --- a/cmake/template/YARPTargetsStatic.cmake.in +++ b/cmake/template/YARPTargetsStatic.cmake.in @@ -34,10 +34,6 @@ if(NOT "${_expected_targets}" STREQUAL "") list(REMOVE_DUPLICATES _expected_targets) endif() -# Provide YARP's own module search paths for use by find_package() -set(_CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}) -list(APPEND CMAKE_MODULE_PATH ${YARP_MODULE_PATH}) - # Properly find the dependencies. This will force to include all the # dependencies also for packages in other exports foreach(_target ${_targets}) @@ -56,8 +52,6 @@ foreach(_target ${_targets}) endforeach() # Restore the original situation -set(CMAKE_MODULE_PATH ${_CMAKE_MODULE_PATH}) -unset(_CMAKE_MODULE_PATH) unset(YARP_static_hack_FOUND) unset(YARP_static_hack_NOT_FOUND_MESSAGE) set(CMAKE_FIND_PACKAGE_NAME ${_CMAKE_FIND_PACKAGE_NAME})