A common use case of `target_compile_features` is simply to specify that
the compiler should be run in a mode that is aware of e.g. C++11. Some
projects simply specify a particular C++11-only feature to request this.
Provide a first-class way to do this by naming features after the
corresponding language standard. Record them as always available in the
corresponding standard level so that requesting them always ensures that
standard (or higher) is used.
Running CMake on it caused the following error:
error: Target "publisher" links to target "Qt5::DBus" but the target
was not found. Perhaps a find_package() call is missing for an
IMPORTED target, or an ALIAS target is missing?
Add the missing DBus component.
`swig` has two output-related options:
* `-o <outfile>`: Set name of C/C++ output file to <outfile>
* `-outdir <dir>`: Set language-specific files output directory to <dir>
We already have `CMAKE_SWIG_OUTDIR` for the latter. Add a new
`SWIG_OUTFILE_DIR` option for the former.
9a58517d Tests: Add case for Xcode per-config per-source COMPILE_FLAGS diagnostic
1e4bb358 Add generator expression support to per-source COMPILE_FLAGS
369d5809 Features: Record features for Intel Compiler on Windows
a5a3642f Features: Port Intel CXX features to test macros where possible
d34ac22f Features: Unset Intel CXX feature temporaries
967dcf36 Intel: Remove incorrect C++98 standard compiler flag on Windows
The execute_process command starts all commands in parallel (in order
for the piping to work). Mention this explicitly and also add a note
about how to execute commands sequentially.
This allows users to specify different genex-based compile flags for
each file in a target, e.g. compiling just a single file with `Od/Ox` in
release builds on Visual Studio.
Since this compiler always defines `__cplusplus` to `1` we need to use
`_MSC_VER`, `__INTEL_CXX11_MODE__`, and the feature test macro named
`__cpp_aggregate_nsdmi` to detect C++11 and C++14 modes.
With no `-Qstd=` flag this compiler defaults to C++98 plus a subset of
C++11/C++14 features needed to be compatible with MSVC. We pretend it
is plain C++98 and add a `-Qstd=` flag whenever needed for C++11 or
above features even if they would happen to be available in MSVC-mode.
Closes: #16384
Change our message wrapper from
[== CMake Server ==[ ... ]== CMake Server ==]
to
[== "CMake Server" ==[ ... ]== "CMake Server" ==]
to guarantee that no JSON content can ever contain the ending string
(because it would be encoded as `]== \"CMake Server\" ==]`).
587ab322 Tests: Add test for MAP_IMPORTED_CONFIG_<CONFIG> empty fallback
149d49ea Teach MAP_IMPORTED_CONFIG_<CONFIG> to support configuration-less import
60d73393 Help: Format MAP_IMPORTED_CONFIG_<CONFIG> documentation
If this property has an empty list entry, check for `IMPORTED_LOCATION`
instead of `IMPORTED_LOCATION_<CONFIG>`. This allows custom imported
targets to have some configurations mapped and others fall back to a
default location.
Closes: #16280
Add support for projects to have `Data.txt.md5` *and* `Data.txt.sha512`
where the content links hold hashes for the same file. Check all
`ExternalData_URL_TEMPLATES` entries in order for all available hashes.
The data acquisition is considered a failure if none of the available
URL resources has any of the given hashes. This makes it possible to
have multiple data server resources where all servers do not support all
hashing algorithms.
2810e561 math(EXPR): Add support for unary `+` and `-` expressions
834f52a6 cmExprParser: Revise indentation style to match rest of CMake
7aaed265 cmExprParser: Port to bison 3
Explicitly state that this marks the `.xml` to tell the dashboard
server to append it to previously submitted results and that it
does not cause results to be appended to the `.xml` file.
Visual Studio provides toolchains that are themselves built for 32-bit
or 64-bit host architectures. By default it uses the 32-bit tools, but
it can be told to prefer the 64-bit tools on 64-bit hosts. Extend the
`CMAKE_GENERATOR_TOOLSET` specification to provide a way to request
use of the 64-bit host tools.
Closes: #15622
Create a `CMAKE_SUBLIME_TEXT_2_EXCLUDE_BUILD_TREE` variable to control
addition of the build tree to `folder_exclude_patterns` in the
`.sublime-project`. Change the default of this behavior to OFF.
Closes: #16351
80574a38 Codelite: Consume the CMAKE_CODELITE_USE_TARGETS setting globally
f59e8779 cmGlobalGenerator: Add API to get settings from top-level cmMakefile