Commit Graph

43467 Commits

Author SHA1 Message Date
Zsolt Parragi
4819ff9647 Tests: fix failures with gnu mode clang on windows
Root causes were:
    * Using incorrect conditions (assuming MSVC-like command line mode)
    * Trying to compile the MSVC STL in C++11 mode, when parts of it require
      C++14 or enabling MS extensions in clang.
    * Missing flush in a testcase using stdout in a dll and a main part
    with static crt
2019-05-24 08:43:42 +02:00
Zsolt Parragi
26af0b25e7 cmake: use correct stack size with gnu mode clang on windows 2019-05-23 23:35:42 +02:00
Zsolt Parragi
d44c0db0b2 clang: setup correct configuration in gnu mode 2019-05-23 23:35:33 +02:00
Zsolt Parragi
b7d5ef23e9 cmGlobalNinjaGenerator: use gnu compatible paths with clang in gnu mode 2019-05-17 19:11:34 +02:00
Zsolt Parragi
3d0210d8dc binutils: add the llvm-* variants to the tool lists.
This allows cmake to use the ar/ranlib/objdump/ld tools on windows
without mingw installed.

These tools are selected when clang is in GNU command line mode.
2019-05-17 19:11:34 +02:00
Zsolt Parragi
53fbe23f3f clang: introduce CMAKE_<lang>_COMPILER_FRONTEND_VARIANT
This variable is set to GNU on Windows when clang.exe ar clang++.exe is
used, and set to MSVC for clang-cl.exe.

CMAKE_<lang>_SIMULATE_ID is set to MSVC in both cases, as clang defaults
to -fms-compatibility for all command lines on windows.
2019-05-17 19:11:34 +02:00
Brad King
66efdbd21a Merge topic 'additional_clean_files'
b5bf369ec6 Release notes: Add release notes for ADDITIONAL_CLEAN_FILES properties
4e2ce0a67a Doc: Update and deprecate ADDITIONAL_MAKE_CLEAN_FILES directory property
338994d65d Doc: Add documentation for ADDITIONAL_CLEAN_FILES properties
c11f089d73 Tests: Extend MakeClean test to cover ADDITIONAL_CLEAN_FILES
012d599e26 Ninja: Add support for ADDITIONAL_CLEAN_FILES target property
890a1b9dc3 Ninja: Add support for ADDITIONAL_CLEAN_FILES directory property
7b23001f20 Ninja: Add support for additional clean files
d745df4b01 Makefiles: Add support for ADDITIONAL_CLEAN_FILES target property
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3318
2019-05-15 09:22:18 -04:00
Brad King
0064edf417 Merge topic 'ninja-pool-custom-command'
9f76961de8 Support job pools in custom commands and targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3308
2019-05-15 09:21:08 -04:00
Brad King
ac0411f166 Merge topic 'cmuvprocesschain-iterator-fix'
dfa24355ea cmUVProcessChain: Add assert() for static analysis tools

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3322
2019-05-15 09:19:43 -04:00
Craig Scott
7063ed271e Merge topic 'refactor_docs_use_java'
359e2d401d UseJava: Refactor documentation for better formatting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3303
2019-05-15 09:18:40 -04:00
Craig Scott
6faa69047f Merge topic 'modules-indent-2-spaces'
932dcce1e6 Modules: Consistently use 2 space indentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3306
2019-05-15 08:58:26 -04:00
Robert Maynard
359e2d401d UseJava: Refactor documentation for better formatting
Co-Authored-By: Craig Scott <craig.scott@crascit.com>
2019-05-15 22:54:15 +10:00
Kitware Robot
38bedaef72 CMake Nightly Date Stamp 2019-05-15 00:01:07 -04:00
Sebastian Holtermann
b5bf369ec6 Release notes: Add release notes for ADDITIONAL_CLEAN_FILES properties
This adds release notes for the `ADDITIONAL_CLEAN_FILES` target and directory
properties.  It also adds a deprecation release note for the
`ADDITIONAL_MAKE_CLEAN_FILES` directory property.
2019-05-14 21:32:12 +02:00
Sebastian Holtermann
4e2ce0a67a Doc: Update and deprecate ADDITIONAL_MAKE_CLEAN_FILES directory property
This extends the :prop_dir:`ADDITIONAL_MAKE_CLEAN_FILES` directory property
documentation and marks it as deprecated.  The new directory property
:prop_dir:`ADDITIONAL_CLEAN_FILES` should be used instead.
2019-05-14 21:32:12 +02:00
Kitware Robot
932dcce1e6 Modules: Consistently use 2 space indentation 2019-05-14 15:26:46 -04:00
Kyle Edwards
dfa24355ea cmUVProcessChain: Add assert() for static analysis tools
Some static analysis tools throw a false positive for an
out-of-bounds item that is being dereferenced. This out-of-bounds
error will never actually happen because of how
cmUVProcessChain::InternalData::AddCommand() is being called.
Nevertheless, this change adds an assert() to help static analysis
tools be absolutely certain that the referenced item is within the
vector's bounds.

This change also changes the item access to use an index rather
than an iterator.
2019-05-14 14:00:13 -04:00
Brad King
e2d0aea2c7 Merge branch 'release-3.14' 2019-05-14 13:49:10 -04:00
Brad King
7c3b84e3cd Merge branch 'release-3.13' 2019-05-14 12:17:44 -04:00
Sebastian Holtermann
338994d65d Doc: Add documentation for ADDITIONAL_CLEAN_FILES properties 2019-05-14 17:50:14 +02:00
Sebastian Holtermann
c11f089d73 Tests: Extend MakeClean test to cover ADDITIONAL_CLEAN_FILES
This extends the MakeClean test to cover the
- ADDITIONAL_CLEAN_FILES directory property and the
- ADDITIONAL_CLEAN_FILES target property

as well.
2019-05-14 17:50:14 +02:00
Sebastian Holtermann
012d599e26 Ninja: Add support for ADDITIONAL_CLEAN_FILES target property 2019-05-14 17:50:14 +02:00
Sebastian Holtermann
890a1b9dc3 Ninja: Add support for ADDITIONAL_CLEAN_FILES directory property 2019-05-14 17:50:14 +02:00
Sebastian Holtermann
7b23001f20 Ninja: Add support for additional clean files
Additional clean files for the Ninja generator can be registered
via the new method `cmGlobalNinjaGenerator::AddAdditionalCleanFile`.
If there are additional clean files, a new rule `CLEAN_ADDITIONAL` and
a new build target `CMakeFiles/clean.additional` get generated.
The `clean` target will depend on `CMakeFiles/clean.additional`, if the target
exists.
2019-05-14 17:50:14 +02:00
Sebastian Holtermann
d745df4b01 Makefiles: Add support for ADDITIONAL_CLEAN_FILES target property 2019-05-14 17:50:14 +02:00
Sebastian Holtermann
124ec11720 Makefiles: Add support for ADDITIONAL_CLEAN_FILES directory property 2019-05-14 17:50:14 +02:00
Sebastian Holtermann
43640fc80a Makefiles: Move ADDITIONAL_MAKE_CLEAN_FILES evaluation to lambda 2019-05-14 17:50:14 +02:00
Sebastian Holtermann
7c8c18b1e6 Makefiles: Sort clean files by using a std::set<std::string> container
By using a `std::set<std::string>` container instead of a
`std::vector<std::string>` container, the clean files list becomes sorted and
unique.  The clean target in Makefiles beomes nicer and better readable this
way.  Also double clean entries won't appear anymore.
2019-05-14 17:50:13 +02:00
Brad King
f872033d75 CMake 3.14.4 2019-05-14 11:33:06 -04:00
Brad King
f00f3fb4ab CMake 3.13.5 2019-05-14 11:31:59 -04:00
Brad King
a9837130cd Merge branch 'release-3.14' 2019-05-14 11:30:25 -04:00
Brad King
319b47c9c7 Merge branch 'doc-relnotes-3.14' into release-3.14
Merge-request: !3319
2019-05-14 11:29:07 -04:00
Brad King
c0b6eec800 Merge branch 'release-3.13' 2019-05-14 11:28:26 -04:00
Brad King
c5255556af Merge branch 'doc-relnotes-3.13' into release-3.13
Merge-request: !3319
2019-05-14 11:27:41 -04:00
Brad King
a0b07cdcf5 Merge topic 'doc-relnotes-3.14'
f2aeba927c Help: Add 3.14.4 release notes
1d645e9891 Merge branch 'doc-relnotes-3.13' into doc-relnotes-3.14
d6b8822919 Help: Add 3.13.5 release notes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3319
2019-05-14 11:26:18 -04:00
Brad King
f2aeba927c Help: Add 3.14.4 release notes
Add a note about the fix in commit 3d3713121b (target_link_libraries:
Fix static library private deps in other dirs, 2019-04-30).  Also
reference the equivalent note already added to the 3.13.5 notes.
2019-05-14 11:21:00 -04:00
Brad King
1d645e9891 Merge branch 'doc-relnotes-3.13' into doc-relnotes-3.14 2019-05-14 11:19:32 -04:00
Brad King
d6b8822919 Help: Add 3.13.5 release notes
Add a note about the fix in commit 3d3713121b (target_link_libraries:
Fix static library private deps in other dirs, 2019-04-30).
2019-05-14 11:18:42 -04:00
Brad King
2389fcc677 Merge topic 'find-boost-cmp0093'
5108759ed2 FindBoost: Introduce CMP0093 to report Boost_VERSION in x.y.z format

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3317
2019-05-14 11:14:33 -04:00
Brad King
1f0a695561 Merge topic 'cmSytemTools_ExpandedList'
cdff7f4e2a cmSystemTools: Add ExpandedListArgument and ExpandedLists methods

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !3313
2019-05-14 10:58:43 -04:00
Brad King
bae7a2e250 Merge topic 'error-generate-step'
8cc04b1918 cmake: Display error if generate step fails

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !3304
2019-05-14 10:57:44 -04:00
Brad King
050bf57472 Merge topic 'ninja_cleanups'
054954d855 Ninja: Use clean target instead of clean tool in `cmake --target clean` calls
30a550d6ad Ninja: In cmNinjaTargetGenerator use std::unique_ptr to manage new instances
0024356f8e Ninja: In cmNinjaTargetGenerator optimize string composition
8691b3cf91 Ninja: Inline range loop range arguments
47da9859e8 Ninja: In cmGlobalNinjaGenerator use std::unique_ptr to manage output streams
9902702134 Ninja: Add and use cmGlobalNinjaGenerator::CMakeCmd method
12aa6fe07b Ninja: Fix message in cmGlobalNinjaGenerator::WriteBuild method
02293841e7 Ninja: Simplify cmGlobalNinjaGenerator::AddRule and HasRule methods
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3312
2019-05-14 10:56:29 -04:00
Brad King
0302d40faa Merge topic 'cminstallgenerator-compute-error'
b133d14fb1 Refactor: Allow cmInstallGenerator::Compute() to return an error

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3305
2019-05-14 10:54:53 -04:00
Brad King
730d8a135e Merge topic 'relax_cxx_relaxed_constexpr_requirements'
d156f8f5a2 CompileFeatures: Record when MSVC gained full CXX14 support
62dbe53a8a CompileFeatures: Record when Intel gained full CXX14 support
1ebb0d79fe CompileFeatures: Relax cxx_relaxed_constexpr compiler requirements

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3292
2019-05-14 10:53:24 -04:00
Brad King
e0ab9e1cb9 Merge topic 'apple_clang_cxx_20_support'
9523ca72e2 Features: Activate C++20 support for AppleClang 10.0+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3294
2019-05-14 10:52:17 -04:00
Brad King
9ca45a51ae Merge branch 'release-3.14' 2019-05-14 10:51:23 -04:00
Brad King
b0b357a878 Merge topic 'swig4'
65c5c1b567 FindSWIG: Support swig4.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3314
2019-05-14 10:49:30 -04:00
Brad King
7d9db24f4c Merge topic 'ios-xctest-lookup'
e9d128b789 Apple: Properly lookup XCTest for iOS and tvOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3309
2019-05-14 10:48:13 -04:00
Rosen Matev
9f76961de8 Support job pools in custom commands and targets
Provide a way for custom commands and targets to set the pool variable
of the ninja build statement. Setting `JOB_POOL` is not compatible with
`USES_TERMINAL`, which implies the `console` pool.

The option is silently ignored with other generators.

Closes: #18483
2019-05-14 15:58:00 +02:00
Kitware Robot
9d48d3f61b CMake Nightly Date Stamp 2019-05-14 00:01:07 -04:00