From 18454ea44d6a1fd2dbc613ad9c3fe941639563aa Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 29 Aug 2017 15:21:58 -0400 Subject: 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 --- Source/cmakemain.cxx | 2 +- Tests/FindPackageModeMakefileTest/FindFoo.cmake.in | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) 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 ) -- cgit v0.12