| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Fixes: #21401
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The `set(CMAKE_CXX_EXTENSIONS FALSE)` option has the effect of passing
compile option `-std=c++NN` instead of `-std=gnu++NN`. On some
platforms, the latter form (or the secondary effects that it has, such
as setting _XOPEN_SOURCE) is required. This typically affects platforms
such as mingw, cygwin and QNX. The GNU-like compiers default to
`-std=gnu++NN`, which means that users can typically build source code
on those platforms by default.
While the `set(CMAKE_CXX_EXTENSIONS FALSE)` option was set here in
commit f034b0f6 (CMake compilation: do not use compiler extensions,
2020-03-14), the other changes in that commit added `#defines` which
become required in the absense of use of `-std=gnu++NN`. However, only
platforms regularly tested in the cmake dashboard were ported, as is
reasonable. That made CMake fail to compile on QNX and perhaps other
platforms which for which no one is submitting regular testing to the
cmake dashboard.
Make the `set(CMAKE_CXX_EXTENSIONS FALSE)` option conditional on non-QNX
to restore the QNX build.
Issue: #21503
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
54ef732b0c cmVisualStudio10TargetGenerator: Avoid GetFullPath on INTERFACE library
f06f4b517c cmTarget: Do not enforce CMP0111 on imported INTERFACE libraries
43c95df8fb Tests: Match RunCMake.CMP0111 stderr more strictly
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5530
|
| |
| |
| |
| | |
Issue: #21470
|
| |
| |
| |
| |
| |
| |
| |
| | |
Fix logic added by commit 359c500a24 (cmTarget: Raise error if imported
target location is not set, 2020-08-08, v3.19.0-rc1~273^2) to exclude
INTERFACE libraries from the policy. They have no location.
Fixes: #21470
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
ef91fb02f3 cmGlobalGenerator: FindMakeProgram() at a generator-specific time
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Frank Dana <ferdnyc@gmail.com>
Merge-request: !5529
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
d5b5c192 moved FindMakeProgram() to an earlier time, which resulted
in CMAKE_MAKE_PROGRAM not being read from the toolchain file. Change
it to only call FindMakeProgram() early in the specific cases of
Visual Studio and Xcode, and restore the old behavior for all other
generators.
Fixes: #21486
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
36921d2d23 Xcode: Fix custom command work-dir placeholders in "new build system"
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5527
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The placeholders for `CONFIGURATION` and `EFFECTIVE_PLATFORM_NAME` need
to be handled in the `WORKING_DIRECTORY` of custom commands just as we
already do for the `COMMAND`.
Fixes: #21483
|
|\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | | |
b4c994f69c cmFileTime: Fix overflow on time computation
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5526
|
| |/
| |
| |
| |
| |
| | |
On Windows, time starting point is Januray, 1st of 1601.
So computing number of nanoseconds from this date exceeds 64bit
capabilities.
|
|\ \
| |/
|/|
| |
| |
| |
| | |
67e2130c96 Makefiles: Fix CMAKE_EXPORT_COMPILE_COMMANDS crash with custom compile rule
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5521
|
| |
| |
| |
| | |
Fixes: #21471
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Revert commit 74b1c9fc8e (Explicitly specify language flag when source
LANGUAGE property is set, 2020-06-01, v3.19.0-rc1~722^2) and the lookup
tables from its two immediate ancestors. The purpose of that change was
to convert an explicit `LANGUAGE` source file property into an explicit
language specification compiler flag like `-x c`. This seems reasonable
since the property is documented as meaning "indicate what programming
language the source file is". It is also needed to help compilers deal
with non-standard source file extensions they don't recognize.
However, some projects have been setting `LANGUAGE C` on `.S` assembler
source files to mean "use the C compiler". Passing `-x c` for them
breaks the build because the `.S` sources are not written in C. These
projects should be updated to use `enable_language(ASM)`, for which
CMake often chooses the C compiler as the assembler when using
toolchains that support it (which would have to be the case for projects
using the approach).
Revert the change for now to preserve the old behavior for such projects.
We can re-introduce it with a policy in a future version of CMake.
Fixes: #21469
Issue: #14516, #20716
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
The Ninja `cleandead` tool does not account for implicit outputs
discovered by `dyndep` bindings and can remove Fortran `.mod` files that
are still needed. Disable the `cleandead` step when using `dyndep`
bindings.
Fixes: #21406
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
5f782119c8 cmake-gui: Restore workaround for crash in file dialog
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5472
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In commit ce9dbceb42 (QtDialog: remove Qt4-only code, 2020-06-02,
v3.19.0-rc1~712^2~1) we removed an event filter that was thought to be
necessary only as a workaround for a bug in Qt. However, that bug was
fixed in Qt 4.5, and the file dialog still crashes as of Qt 5.14 without
the filter. Restore the workaround pending further investigation.
Fixes: #21400
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Xcode has multiple levels of build settings with priority in descending
order:
1. Target
2. Project
3. Workspace
4. SDK defaults
`CMAKE_XCODE_ATTRIBUTE_*` path variables add these to project level, but
linked frameworks and libraries override this in target level. Add the
`$(inherited)` macro to keep both in the final list.
Fixes: #21387
|
|
|
|
|
|
|
| |
Defer adding this command until post-3.19 development so that it
has more time to mature before being included in a release.
Issue: #21385
|
|
|
|
|
|
|
|
|
| |
If --preset is specified with no path argument, use the current
directory as the source directory, the preset's binaryDir as the
binary directory, and don't issue the standard warning for no path
specified.
Fixes: #21386
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
c619be2784 ccmake: Don't list --preset in --help
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5428
|
| |
| |
| |
| |
| |
| | |
And show available options in cmake-gui.
Fixes: #21313
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
ef03124237 CMake GUI: Add --browse-manual argument
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5417
|
| |/ |
|
|\ \
| |/
|/|
| |
| |
| |
| | |
5dc23300b1 Xcode: Fix regression that automatically links libraries in source list
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5432
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In commit e637744c51 (Xcode: Use "Link Binary With Libraries" to link
any library, 2019-07-10, v3.19.0-rc1~494^2~1) we accidentally added all
the library type files to "Link Binary With Libraries" build phase if
they were passed in as source files. Revert that change as any actually
linked libraries will be added to that build phase later in the
`AddDependAndLinkInformation` call.
Fixes: #21361
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
dd77dec18d VS: Don't compute CUDA options unless necessary
e9109dec36 Merge branch 'ninja-multi-per-config-sources' into release-3.18
7c0de4175b Merge branch 'cmake-E-cat-binary' into release-3.18
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5422
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In the following scenario (with 3.18 policies):
1. A CXX target is created.
2. CUDA language is enabled.
CMake 3.18 introduced CMP0104, which requires CUDA_ARCHITECTURES to be
set. Because the CXX target was created before CUDA was enabled it
wouldn't have it set. The Visual Studio generator would however end up
computing CUDA compile options for the CXX target, which would result in
a fatal error due to the policy violation.
There doesn't seem to be a reason to do this for targets that don't
actually use the CUDA language, so we can skip and generate the CXX
target just fine.
Fixes: #21341
|
| |\ \
| | | |
| | | |
| | | | |
Merge-request: !5430
|
|\ \ \ \
| |_|_|/
|/| | |
| | | |
| | | |
| | | |
| | | | |
b7d7eca66d CMakePresets.json: Rework how --preset argument is handled
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5416
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If a path argument with no -S or -B leads to a cache directory,
use that directory as the binary directory. Otherwise, use the
binary directory from the preset.
Fixes: #21311
|
|\ \ \ \
| |_|_|/
|/| | | |
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
afac7482d2 cmake: command arguments which use '=' behave consistently
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5414
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Fixes: #21351
The `profiling-format`, `profiling-output`, and `preset` all would
crash when invoked without a trailing `=`.
|
| |\ \ \ \
| | |_|/ /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | | |
cd33bfcad5 add_custom_command: Properly recognize if sources depend on config
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5410
|
| | | | |
| | | | |
| | | | |
| | | | | |
Fixes: #21349
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
8ad6fabfc5 VS: Remove flag table entries for Fortran /Z* flags
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5406
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
These were included when the Fortran flag table was first created by
commit 10c91ded4f (ENH: add support for Intel Fortran Visual studio IDE,
2008-04-30, v2.8.0~2227), but they map to fields not actually supported
by the IDE. Remove their table entries.
Instead use just `/debug:minimal` and `/debug:full` to control debug
information level in VS Intel Fortran. Let flags like `/Z7` pass
through as raw additional options because they have no corresponding IDE
property and can be used to complement the supported options.
Fixes: #21340
|
| |\ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
64afabdbcb CMakePresets.json: Split cmakeGeneratorConfig field
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5387
|
| | | |/ / /
| | |/| | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Make this field separate for both architecture and toolset. Allow
architecture and toolset to be either strings or objects with value
and strategy fields.
Fixes: #21317
|
| |/ / / /
| | | | |
| | | | |
| | | | | |
Fixes: #21312
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
638557cbfe CMakePresets.json: Properly report macro expansion errors
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5397
|
| | |/ / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Make a distinction between strings which simply use the
$vendor{<...>} macro, which is valid but makes it unusable by CMake,
and strings which actually contain invalid macro expansions.
Fixes: #21308
|
| |/ / /
| | | |
| | | |
| | | | |
Fixes: #21327
|