When constructing a global generator instance in `--build-and-test` mode
we need to set the platform passed by `--build-generator-platform`
directly on the generator. The old code that set it on the `cmake`
class instance did nothing because that only affects cache
initialization, which is not done by `--build-nocmake`.
These new capabilities enable to manage link directories
Two new properties:
* target properties: LINK_DIRECTORIES and INTERFACE_LINK_DIRECTORIES
One new command
* target_link_directories(): to populate target properties
Fixes: #17215
Add the `NAMES_PER_DIR` option to our `find_library` call so that all
names are considered in each path as we proceed through the search.
This allows locally-built unversioned libraries to be found before
versioned system libraries if they appear earlier in the set of paths to
be searched.
Suggested-by: Alan W. Irwin <irwin@beluga.phys.uvic.ca>
* Separate find_library calls to find Release and Debug libs.
* Using select_library_configurations to properly populate required
variables (similar to FindZLIB).
* Setting Release and Debug specific properties
(IMPORTED_CONFIGURATIONS_<CONFIG> and IMPORTED_LOCATION_<CONFIG>).
* Falling back to setting just IMPORTED_LOCATION if
GLUT_glut_LIBRARY_RELEASE or GLUT_glut_LIBRARY_DEBUG are not defined.
This enables proper linking on Windows.
Fixes: #17037
Replace use of raw pointers and explicit reference counting with
`std::shared_ptr<>`. Use a discriminated union to store either the
bottom level or a call/file context in each heap-allocated entry.
This avoids storing a copy of the bottom in every `cmListFileBacktrace`
instance and shrinks the structure to a single `shared_ptr`.
Move dictionary entries used by the json object generation code into a
separate header. These are distinct from the server-only entries used
in the protocol implementation.
Make entry points for these that do not reference the server code. For
now we leave the "cache" object generation alone because its
implementation interleaves error handling and the format may not
suitable outside a server response.
63eb43f131 Tests: Add VSWinStorePhone for VS 15 2017
173d29a379 Tests: Fix VSWinStorePhone to properly identify VS 14 2015
83ddc4d289 VS: Do not select a Windows SDK too high for current VS version
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2388
This commit adds a new CMake policy, CMP0080, which prohibits the
inclusion of BundleUtilities at configure time. The old behavior is
to allow the inclusion.
This test fails spuriously too often and prevents the nightly binary
from finishing. Simply skip it for the nightly binary to allow it to
complete more regularly.
638f00117a Add release note for the -S and -B options.
de962cc00d CMake: Internally uses -S instead of -H to specify source directory
a10d63d578 cmake: -S and -B can be used to specify source and build directories
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2358