Do not overwrite CMAKE_PREFIX_PATH in component config files.

This fixes problems when a project adds a directory to
CMAKE_PREFIX_PATH, then calls find_package(Poco ...) and afterwards
calls find_package() for another project located in one of the
directories of the original CMAKE_PREFIX_PATH variable.
This commit is contained in:
Sascha Zelzer 2015-02-04 04:35:23 +01:00
parent 319e2d80b5
commit 10425a9556
17 changed files with 23 additions and 32 deletions

View File

@ -1,4 +1,3 @@
include(CMakeFindDependencyMacro)
set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_LIST_DIR})
find_dependency(PocoFoundation)
include("${CMAKE_CURRENT_LIST_DIR}/PocoCppParserTargets.cmake")

View File

@ -1,4 +1,3 @@
include(CMakeFindDependencyMacro)
set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_LIST_DIR})
find_dependency(PocoFoundation)
include("${CMAKE_CURRENT_LIST_DIR}/PocoCryptoTargets.cmake")

View File

@ -1,5 +1,4 @@
include(CMakeFindDependencyMacro)
set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_LIST_DIR})
find_dependency(PocoFoundation)
find_dependency(PocoData)
include("${CMAKE_CURRENT_LIST_DIR}/PocoDataMySQLTargets.cmake")

View File

@ -1,5 +1,4 @@
include(CMakeFindDependencyMacro)
set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_LIST_DIR})
find_dependency(PocoFoundation)
find_dependency(PocoData)
include("${CMAKE_CURRENT_LIST_DIR}/PocoDataODBCTargets.cmake")

View File

@ -1,5 +1,4 @@
include(CMakeFindDependencyMacro)
set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_LIST_DIR})
find_dependency(PocoFoundation)
find_dependency(PocoData)
include("${CMAKE_CURRENT_LIST_DIR}/PocoDataSQLiteTargets.cmake")

View File

@ -1,4 +1,3 @@
include(CMakeFindDependencyMacro)
set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_LIST_DIR})
find_dependency(PocoFoundation)
include("${CMAKE_CURRENT_LIST_DIR}/PocoDataTargets.cmake")

View File

@ -1,4 +1,3 @@
include(CMakeFindDependencyMacro)
set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_LIST_DIR})
find_dependency(PocoFoundation)
include("${CMAKE_CURRENT_LIST_DIR}/PocoJSONTargets.cmake")

View File

@ -1,5 +1,4 @@
include(CMakeFindDependencyMacro)
set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_LIST_DIR})
find_dependency(PocoFoundation)
find_dependency(PocoNet)
include("${CMAKE_CURRENT_LIST_DIR}/PocoMongoDBTargets.cmake")

View File

@ -1,4 +1,3 @@
include(CMakeFindDependencyMacro)
set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_LIST_DIR})
find_dependency(PocoFoundation)
include("${CMAKE_CURRENT_LIST_DIR}/PocoNetTargets.cmake")

View File

@ -1,5 +1,4 @@
include(CMakeFindDependencyMacro)
set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_LIST_DIR})
find_dependency(PocoFoundation)
find_dependency(PocoUtil)
find_dependency(PocoNet)

View File

@ -1,5 +1,4 @@
include(CMakeFindDependencyMacro)
set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_LIST_DIR})
find_dependency(PocoFoundation)
find_dependency(PocoUtil)
find_dependency(PocoNet)

View File

@ -1,4 +1,3 @@
include(CMakeFindDependencyMacro)
set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_LIST_DIR})
find_dependency(PocoFoundation)
include("${CMAKE_CURRENT_LIST_DIR}/PocoPDFTargets.cmake")

View File

@ -1,5 +1,4 @@
include(CMakeFindDependencyMacro)
set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_LIST_DIR})
find_dependency(PocoFoundation)
find_dependency(PocoXML)
find_dependency(PocoUtil)

View File

@ -1,5 +1,4 @@
include(CMakeFindDependencyMacro)
set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_LIST_DIR})
find_dependency(PocoFoundation)
find_dependency(PocoXML)
find_dependency(PocoJSON)

View File

@ -1,4 +1,3 @@
include(CMakeFindDependencyMacro)
set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_LIST_DIR})
find_dependency(PocoFoundation)
include("${CMAKE_CURRENT_LIST_DIR}/PocoXMLTargets.cmake")

View File

@ -1,5 +1,4 @@
include(CMakeFindDependencyMacro)
set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_LIST_DIR})
find_dependency(PocoFoundation)
find_dependency(PocoUtil)
find_dependency(PocoXML)

View File

@ -21,6 +21,10 @@ get_filename_component(_Poco_install_prefix "${CMAKE_CURRENT_LIST_DIR}" ABSOLUTE
set(_Poco_NOTFOUND_MESSAGE)
# Let components find each other, but don't overwrite CMAKE_PREFIX_PATH
set(_Poco_CMAKE_PREFIX_PATH_old ${CMAKE_PREFIX_PATH})
set(CMAKE_PREFIX_PATH ${_Poco_install_prefix})
foreach(module ${Poco_FIND_COMPONENTS})
find_package(Poco${module}
${_Poco_FIND_PARTS_QUIET}
@ -39,6 +43,9 @@ foreach(module ${Poco_FIND_COMPONENTS})
list(APPEND Poco_LIBRARIES "Poco::${module}")
endforeach()
# Restore the original CMAKE_PREFIX_PATH value
set(CMAKE_PREFIX_PATH ${_Poco_CMAKE_PREFIX_PATH_old})
if (_Poco_NOTFOUND_MESSAGE)
set(Poco_NOT_FOUND_MESSAGE "${_Poco_NOTFOUND_MESSAGE}")
set(Poco_FOUND False)