Previously, `install(TARGETS)` would only accept targets created in the same
directory scope. Relax this restriction by searching the global scope when
determining whether or not a target exists.
Fixes: #14444
find_program() incorrectly prepended search path components
to absolute file paths, and incorrectly searched the current
working directory for files that contained no directory
separators.
* Replace calls cmFindProgramHelper::CheckDirectory(std::string())
with call of new method cmFindProgramHelper::CheckCompoundNames()
that checks for the presence of a directory separator in the
file name.
* Use cmSystemTools::CollapseCombinedPath rather than string
concatenation to properly combine absolute file names with
search path components.
* Add unit tests to verify corrections.
Fixes: #18044
Code extracted from:
https://gitlab.kitware.com/utils/kwsys.git
at commit 2b0ca1d85d6e3fcf3b3fa375783c33524629f256 (master).
Upstream Shortlog
-----------------
Marian Klymov (3):
0b9f51a1 Remove redundant calls to c_str
361e54e3 Get rid of redundant string initialization
61501133 SystemInformation: Avoid use of dangling pointers on Solaris
The change in commit v3.11.3~3^2 (cmSystemTools: Revert GetRealPath
implementation on Windows, 2018-05-29) broke the feature added by commit
v3.11.0-rc1~64^2 (Windows: Add support for running CMake tools through a
symlink, 2018-01-21). Use `GetRealPathResolvingWindowsSubst` in the
latter code path to restore it.
Fixes: #17882
Fix a typo from commit 0bef9eb410 (UseSWIG: modernize module,
2018-01-29) that caused `UseSWIG` to ignore an eventually set property
`SWIG_MODLUE_NAME`.
Building multiple python modules using the mentioned property as
described in the docs could lead to an invalid, or even worse,
inconsistent `build.ninja` file. The reason is that the generated list
of support files was not unique. For each module the support file was
always named the same, namely `path/to/builddir/MODULENAME.py`.
66ea1a3795 LINK_OPTIONS: Add support of "LINKER:" prefix
c1f5a44b28 LINK_OPTIONS: Add new family of properties
8e28d2630a Makefile generator: link flags management refactoring
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !2033
aeda8fcceb Help: Package without components should use 'check_required_components' too
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2138