Commit Graph

45318 Commits

Author SHA1 Message Date
Peter Waller c9d73b26b0 cmake: Fix relative path regression in -C
Since commit 4ca0526f8a (cmake: Pass -S and -B into PreLoad.cmake and -C
scripts, 2019-08-20, v3.16.0-rc1~195^2) the value of `CMAKE_SOURCE_DIR`
is the source directory rather than the current working directory.
This was correct on its own, but the place storing that value is also
used as the base for relative paths specified on the command line.
The latter should of course be relative to the current working
directory.

The fix is to switch to use a full path internally, unless a full path
is already specified.  Add tests for the behaviour of `-C` under these
four circumstances:

    {with -S, without -S} x {full path, relative path}

Fixes: #19827
2019-10-14 16:17:00 -04:00
Brad King 9150c818b7 CMake 3.16.0-rc1 v3.16.0-rc1 2019-10-10 09:31:05 -04:00
Brad King 580e322dcb Merge branch 'rename_loglevel_option' into release-3.16
Merge-request: !3899
2019-10-10 09:21:36 -04:00
Craig Scott 7bbddeb78d CLI: Rename --loglevel to --log-level for naming consistency
Other multi-word command line options use hyphens to separate
the words, so the --loglevel option introduced in CMake 3.15 was
inconsistent in this regard. Rename it to --log-level but still support
the original --loglevel name to preserve backward compatibility.
2019-10-10 09:20:50 -04:00
Brad King e5419f4f87 Merge branch 'pch-generate' into release-3.16
Merge-request: !3890
2019-10-10 09:14:58 -04:00
Brad King b63dc7c8fc Merge branch 'ExternalProject-minor-typos' into release-3.16
Merge-request: !3898
2019-10-09 09:22:08 -04:00
Brad King 88fa7b761d Merge branch 'vs-16.4-global-targets' into release-3.16
Merge-request: !3896
2019-10-09 09:19:40 -04:00
Brad King 155d6d8342 Merge branch 'file-GENERATE-earlier' into release-3.16
Merge-request: !3895
2019-10-09 09:19:16 -04:00
Brad King 980d811044 Merge branch 'apple-asm-deployment-target' into release-3.16
Merge-request: !3894
2019-10-09 09:18:43 -04:00
Gregor Jasny 1a3a62251b Apple: Set Clang ASM compiler features
The same is done for the C and CXX language. This initializes
compiler flags like the sysroot path or deployment target.

Closes: #19794
Suggested-by: Kyle Fleming
2019-10-09 09:18:33 -04:00
Ben Boeckel 5d3b825cbd ExternalProject: fix some documentation typos 2019-10-09 08:27:44 -04:00
Cristian Adam 36ded610af PCH: Generate sources during Compute step 2019-10-09 13:50:25 +02:00
Brad King 04e5f30ad3 VS: Tell VS 16.4 not to verify CMake-provided custom command outputs
Extend the fix from commit 0578239d3a (VS: Tell VS 16.4 not to verify
SYMBOLIC custom command outputs, 2019-09-23, v3.15.4~2^2) to apply to
outputs in CMake-provided targets like `install`.  Simply mark these
outputs as `SYMBOLIC` too since they are not actually generated.

Fixes: #19737
2019-10-07 17:41:31 -04:00
Brad King f1fb63b306 file(GENERATE): Create output file structures even earlier
Since commit b80557c7bd (file(GENERATE): Evaluate early to allow
generating source files, 2014-11-04, v3.2.0-rc1~398^2) we create the
`cmSourceFile` instances marked with a `GENERATED` source file property
before tracing source dependencies.  Move it to even earlier so that
steps in `cmGlobalGenerator::AddAutomaticSources` can operate on all
sources.  This also avoids the accidental `O(n^2)` calls for `n` local
generators that we had previously.

This is also needed since commit 83c1657ff7 (Unity build: Generate
sources during Compute step, 2019-10-03) to support `file(GENERATE)`
outputs as sources in a target with `UNITY_BUILD` enabled.
2019-10-07 15:22:12 -04:00
Brad King 16613bc050 Begin 3.16 release versioning 2019-10-07 10:53:56 -04:00
Brad King 0b2431896f Help: Drop development topic notes to prepare release
Release versions do not have the development topic section of
the CMake Release Notes index page.
2019-10-07 10:52:56 -04:00
Brad King ead89868ba Merge topic 'doc-3.16-relnotes'
ffa1c76ba3 Help: Add missing 3.16 release notes for CPack/DEB descriptions
a933d8d84e Help: Organize and revise 3.16 release notes
9c9a6e6023 Help: Consolidate 3.16 release notes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3889
2019-10-07 10:49:35 -04:00
Brad King b734a04164 Merge topic 'doc_custom_commands_crosscompile'
c6f08a2125 Help: Clarify how target names are handled in custom commands/targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3891
2019-10-07 10:47:54 -04:00
Brad King ffa1c76ba3 Help: Add missing 3.16 release notes for CPack/DEB descriptions
Add notes for the changes from commit 33c7ea513d (CPackDeb: Use
`CPACK_PACKAGE_DESCRIPTION_FILE`, 2019-07-11).

Suggested-by: Alex Turbov <i.zaufi@gmail.com>
2019-10-07 10:45:23 -04:00
Brad King a933d8d84e Help: Organize and revise 3.16 release notes
Add section headers similar to the 3.15 release notes and move each
individual bullet into an appropriate section.  Revise a few bullets.
Drop bullets covering internal interfaces.
2019-10-07 10:45:05 -04:00
Brad King 947b02e2e0 Merge topic 'export-genex-under-prefix'
3ded5b6da8 install,export: Fix export of a genex following $<INSTALL_PREFIX>

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3886
2019-10-07 10:34:50 -04:00
Brad King a023a2e4fe Merge topic 'test-per-config-sources'
9c9e66289a Tests: Enable ConfigSources test on every configuration

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3888
2019-10-07 10:33:50 -04:00
Brad King 27928290ac Merge topic 'doc-install-strip'
12368e6d15 Help: Document install/strip targets for Ninja/UNIX Makefiles generators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3887
2019-10-07 10:32:03 -04:00
Kitware Robot 52891c816d CMake Nightly Date Stamp 2019-10-07 00:01:04 -04:00
Kitware Robot f2bf78ccf7 CMake Nightly Date Stamp 2019-10-06 00:01:06 -04:00
Craig Scott c6f08a2125 Help: Clarify how target names are handled in custom commands/targets
Fixes: #19771
2019-10-05 23:11:14 +10:00
Kitware Robot 3da9733142 CMake Nightly Date Stamp 2019-10-05 00:01:05 -04:00
Cristian Adam 12368e6d15 Help: Document install/strip targets for Ninja/UNIX Makefiles generators 2019-10-04 17:00:18 +02:00
Brad King 9c9a6e6023 Help: Consolidate 3.16 release notes
Run the `Utilities/Release/consolidate-relnotes.bash` script to move
notes from `Help/release/dev/*` into `Help/release/3.16.rst`.
2019-10-04 11:00:00 -04:00
Brad King 9c9e66289a Tests: Enable ConfigSources test on every configuration
Revise the test itself to work in all configurations and verify that
certain sources are only built by whatever configuration is tested.
2019-10-04 10:39:00 -04:00
Brad King 395e5f77fc Merge topic 'unity-step'
83c1657ff7 Unity build: Generate sources during Compute step

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3884
2019-10-04 10:15:08 -04:00
Brad King a988cc8789 Merge topic 'pch-multi-language'
38c1f2ab22 PCH: Fix CMake test files indentation
1144a4fa47 PCH: Add multi-language PCH generation support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3885
2019-10-04 10:14:20 -04:00
Brad King f9e2c17458 Merge topic 'pch-clang-pch-regen'
bc4f8f4472 PCH: Use clang's own pch functionality instead of the GCC emulation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3881
2019-10-04 10:13:00 -04:00
Brad King 3ded5b6da8 install,export: Fix export of a genex following $<INSTALL_PREFIX>
The relative path check added by commit 5838aba1aa (Export: Report error
on relative include with genex., 2013-11-26, v3.0.0-rc1~285^2) was added
one condition too early.  If the value starts in `${_IMPORT_PREFIX}`
(which comes from `$<INSTALL_PREFIX>`) then it is an absolute path.

Fixes: #19791
2019-10-04 09:53:22 -04:00
Kitware Robot 65020633e6 CMake Nightly Date Stamp 2019-10-04 00:01:06 -04:00
Cristian Adam 38c1f2ab22 PCH: Fix CMake test files indentation 2019-10-03 23:24:21 +02:00
Cristian Adam 1144a4fa47 PCH: Add multi-language PCH generation support
If the target has C files, it will get a C PCH file.
The same for C++ files. The linker language is no
longer used to determine which language to use for
PCH.

Fixes: #19790
2019-10-03 22:58:55 +02:00
Brad King 83c1657ff7 Unity build: Generate sources during Compute step
The unity build sources need to be added for all generators.  Create
them during `cmGlobalGenerator::Compute` to avoid duplicating the calls
in every generator.  We already handle Qt autogen there too.

Issue: #19789
2019-10-03 14:55:22 -04:00
Brad King 3247506662 Merge topic 'ctest-hardware-allocation'
e9500271a3 Help: Add documentation for CTest hardware allocation
d1f100a415 CTest: Add Json output for PROCESSES property
b741ee820d Tests: Add test for CTest hardware allocation feature
3c8a5aad46 Tests: Write tests for cthwalloc helper tool
2d74e54661 Tests: Write cthwalloc helper tool
e34de0691b CTest: Allocate hardware to tests
aee0964851 CTest: Add bin-packing algorithm
c494b2973a CTest: Add cmCTestHardwareAllocator class
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3858
2019-10-03 14:07:52 -04:00
Brad King d918b4a545 Merge topic 'FindGTK2-harfbuzz'
effafca77e FindGTK2: Add harfbuzz to GTK2_INCLUDE_DIRS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3877
2019-10-03 09:11:36 -04:00
Brad King 4a68c85073 Merge topic 'FindJava-all-versions'
3d02593986 FindJava: ensure all versions can be found
14ac253af7 FindJava: tests clean-up

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3871
2019-10-03 09:10:50 -04:00
Brad King 2921c5e4d1 Merge branch 'release-3.15' 2019-10-03 09:09:50 -04:00
Brad King 96bc0a5d99 Merge topic 'xcode-scheme-custom-target'
333a2ff099 Merge branch 'backport-xcode-scheme-custom-target'
7cccc5b199 Xcode: Restore CMAKE_XCODE_GENERATE_SCHEME for custom targets
ac9934406d Xcode: Restore CMAKE_XCODE_GENERATE_SCHEME for custom targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3878
2019-10-03 09:09:04 -04:00
Cristian Adam bc4f8f4472 PCH: Use clang's own pch functionality instead of the GCC emulation
Fixes: #19786
2019-10-03 14:43:00 +02:00
Kitware Robot 53dedbd51e CMake Nightly Date Stamp 2019-10-03 00:01:07 -04:00
Markus Mittendrein effafca77e FindGTK2: Add harfbuzz to GTK2_INCLUDE_DIRS
Fixes: #19531
2019-10-02 11:31:44 -04:00
Kyle Edwards e9500271a3 Help: Add documentation for CTest hardware allocation 2019-10-02 09:33:54 -04:00
Kyle Edwards d1f100a415 CTest: Add Json output for PROCESSES property 2019-10-02 09:33:54 -04:00
Kyle Edwards b741ee820d Tests: Add test for CTest hardware allocation feature 2019-10-02 09:33:54 -04:00
Kyle Edwards 3c8a5aad46 Tests: Write tests for cthwalloc helper tool
This helper tool is sufficiently complex that it warrants having its
own test suite.
2019-10-02 09:33:54 -04:00