summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-08-29 19:21:58 (GMT)
committerBrad King <brad.king@kitware.com>2017-08-29 19:30:07 (GMT)
commit18454ea44d6a1fd2dbc613ad9c3fe941639563aa (patch)
tree7dd7d008d7734d70f5a76b2ab2810e6c025eb2cb
parentfca4423786ba2c4a5ab0ec6c1a1cbac8cd8600b4 (diff)
downloadCMake-18454ea44d6a1fd2dbc613ad9c3fe941639563aa.zip
CMake-18454ea44d6a1fd2dbc613ad9c3fe941639563aa.tar.gz
CMake-18454ea44d6a1fd2dbc613ad9c3fe941639563aa.tar.bz2
cmake: Fix --find-package mode with imported targets
The change in commit v3.9.0-rc1~116^2~6 (cmakemain: use script role for -P, 2017-05-11) accidentally left project commands out of find-package mode, causing packages that provide imported targets to break. Fixes: #17124
-rw-r--r--Source/cmakemain.cxx2
-rw-r--r--Tests/FindPackageModeMakefileTest/FindFoo.cmake.in2
2 files changed, 3 insertions, 1 deletions
diff --git a/Source/cmakemain.cxx b/Source/cmakemain.cxx
index c5a6836..da1fe6d 100644
--- a/Source/cmakemain.cxx
+++ b/Source/cmakemain.cxx
@@ -306,7 +306,7 @@ int do_cmake(int ac, char const* const* av)
return ret;
}
cmake::Role const role =
- workingMode == cmake::NORMAL_MODE ? cmake::RoleProject : cmake::RoleScript;
+ workingMode == cmake::SCRIPT_MODE ? cmake::RoleScript : cmake::RoleProject;
cmake cm(role);
cm.SetHomeDirectory("");
cm.SetHomeOutputDirectory("");
diff --git a/Tests/FindPackageModeMakefileTest/FindFoo.cmake.in b/Tests/FindPackageModeMakefileTest/FindFoo.cmake.in
index dc62bac..2eb7b7a 100644
--- a/Tests/FindPackageModeMakefileTest/FindFoo.cmake.in
+++ b/Tests/FindPackageModeMakefileTest/FindFoo.cmake.in
@@ -5,5 +5,7 @@ find_path(FOO_INCLUDE_DIR NAMES foo.h HINTS "@CMAKE_CURRENT_SOURCE_DIR@" )
set(FOO_LIBRARIES ${FOO_LIBRARY})
set(FOO_INCLUDE_DIRS "${FOO_INCLUDE_DIR}" "/some/path/with a space/include" )
+add_library(Foo::Foo INTERFACE IMPORTED)
+
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Foo DEFAULT_MSG FOO_LIBRARY FOO_INCLUDE_DIR )