Since commit v3.8.0-rc1~136^2 (FindBoost: Search official location of
prebuilt binaries on Windows, 2016-12-21) we pass input paths through
`_Boost_UPDATE_WINDOWS_LIBRARY_SEARCH_DIRS_WITH_PREBUILT_PATHS` in more
places than before. This broke tolerance of backslashes in paths
provided by the user due to the macro argument re-parsing. Turn
`_Boost_UPDATE_WINDOWS_LIBRARY_SEARCH_DIRS_WITH_PREBUILT_PATHS` into a
function instead of macro to avoid re-parsing of macro arguments.
Fixes: #16816
fee01194 VS: Add an environment variable for the Windows 10 kits directory
b80c6d12 VS: Refactor Win 10 Kits root detection to support multiple roots
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !696
7f8b93ab CheckSymbolExists: Document that intrinsics may not be detected
91233d56 CheckSymbolExists: Format documentation
b416d3e6 CheckSymbolExists: Convert docs to bracket comment syntax
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !695
Define a `CMAKE_WINDOWS_KITS_10_DIR` environment variable to allow
users to tell CMake about a custom Windows 10 SDK directory. We
choose to make this an environment variable rather than a CMake
variable or cache entry because:
* Using a custom directory also requires custom external MSBuild
configuration. Therefore users are already configuring a
custom environment.
* The custom directory must be set consistently in all parts of
a build including nested projects. An environment variable
avoids requiring users to thread the setting into nested builds.
Fixes: #16743
It is quite often the project description has used in a real world software.
Examples include:
* part of a help screen of the application
* builtin resources (`*.rc` files, data for "About" dialog of a GUI app, & etc)
* most generators for CPack can use it
* it could be used by documentary software (Doxygen, Sphinx) which is usually
integrated to CMake based projects via `add_custom_target()`
Now `project()` call learned an optional `DESCRIPTION` parameter with a
short string describing a project. Being specified, it would set the
`PROJECT_DESCRIPTION` variable which could be used in `configure_file()`
or whatever user wants. Also `PROJECT_DESCRIPTION` is a default value
for `CPACK_PACKAGE_DESCRIPTION_SUMMARY`.
Every desktop application should be HiDPI ready in present.
Based on information from Qt documentation enabling properties in
`Info.plist` is sufficient to activate this feature.
Newer versions of `qmake` do it.
Signed-off-by: Ľubomír Carik <Lubomir.Carik@gmail.com>
These were added by commit v3.8.0-rc4~4^2~1 (RC: Add missing
CMAKE_RC_FLAGS_<CONFIG> entries to cache, 2017-03-28) and should be
advanced as they are for other languages.
As of 3.6.1 Python (only version tested in this case), installing 32-bit
version on 64-bit windows has a slightly different registry key path.
`-32` is appended to the end of the version number in the path. Also
added a few more registry path guesses based on 64-bit version of
Python.
Also the module now checks if the host is WIN32 instead of the target,
which is required if you are cross compiling.
Latest wxWidgets git master version and the upcoming 3.1.1 release requires
linking with shlwapi and version DLLs. As this does no harm when using the
previous versions, just do it unconditionally.
Changes in commit 3ca6f70f (FindBoost: Allow testing for multiple
compiler suffixes, 2017-03-28) accidentally left a `set()` instead of a
`list(APPEND)` while constructing `_boost_RELEASE_NAMES`. Fix the logic
to match what was done for `_boost_DEBUG_NAMES`. Otherwise we drop some
of the candidate names.
Use the `GENERATOR_IS_MULTI_CONFIG` global property to reliably
detect multi-config generators regardless of what variables the
project or user have set.
This reverts commit 09475c29 (CPack/NSIS: Sign the uninstaller,
2017-03-01) and follow-up commit e1ee7b43 (CPack/NSIS: Avoid a race
condition when generating the installer, 2017-03-22). The signing
implementation does not work on Linux for a couple reasons:
* The script tries to run the temporary uninstaller executable,
but of course this cannot be done except on a Windows host.
* The `${NSISDIR}\makensis` file does not exist because `makensis`
is installed elsewhere.
The result is that existing package configurations can break on Linux.
For example, the CPackComponents test fails.
Revert the feature until an alternative implementation approach can be
found.
This adds the option CUDA_LINK_LIBRARIES_KEYWORD which can be set to PRIVATE,
PUBLIC, or INTERFACE or left empty (the default) to use the old form of
target_link_libraries internally in FindCUDA macros.
Fixes: #16772