Commit Graph
47352 Commits
Author SHA1 Message Date
Shane Parris b6ef4bc329 Document and extend the CMAKE_SUPPRESS_REGENERATION variable
Fixes: https://gitlab.kitware.com/cmake/cmake/issues/16815
2018-02-23 11:20:15 -05:00
Frank Winklmeier 2d1e5adaeb cmMakefile: Improve performance of GetSource for known files
Store "Known" files separately in KnownFileSearchIndex. This avoids
creating the rather expensive cmSourceFileLocation object for source
files that are already known. For large projects this results in a
factor 3-4 speedup of cmGlobalGenerator::Compute().
2018-02-23 17:06:28 +01:00
xoviat a18147e933 MSVC,Clang,Flang: Add IPO support
Fixes: #17692
2018-02-23 10:27:57 -05:00
Robert Dailey 076a356cd1 VS: Support C# project references
When specifying a pure C# target in the `target_link_libraries()` call to
another C++ target, a `<ProjectReference>` was setup for it (we wanted this)
but also a corresponding `.lib` was added under `<AdditionalDependencies>`
(we didn't want this).

This change introduces a check that prevents `.lib` linker options from
being used when the corresponding target for that library is a C# target.

Fixes: #17678
2018-02-23 08:53:17 -06:00
Brad King ebf0a08279 Merge branch 'release-3.11' 2018-02-23 08:50:40 -05:00
Brad King 4732dbf32d Merge topic 'ninja-depfile-name'
84de8b80 Ninja: Use as dependency file <objectDir/SourceName>.d if needed.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1781
2018-02-23 08:24:14 -05:00
Brad King f6fc689c26 Merge topic '14297-partial-xcode-zero-check'
481420ee Xcode: Generate ZERO_CHECK generator target only once

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1790
2018-02-23 08:22:51 -05:00
Brad King c786164fe0 Merge topic 'std-thread-link'
94eee5e6 CMakeLib: Link to system thread libraries to support std::thread

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Daniel Chabrowski <dantezstudio@gmail.com>
Merge-request: !1789
2018-02-23 08:19:49 -05:00
Brad King 72a85d9f0b Merge branch '14297-partial-xcode-zero-check' into release-3.11
Merge-request: !1790
2018-02-23 08:17:51 -05:00
Kitware Robot 1f082f2b60 CMake Nightly Date Stamp 2018-02-23 00:01:11 -05:00
Gregor Jasny 481420ee89 Xcode: Generate ZERO_CHECK generator target only once
In case CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY has been enabled
generate only the root-level ZERO_CHECK target so targets in
subdirectories pick up the root generator target of ZERO_CHECK.

For the case that CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY is not
enabled more investigation and a proper and final fix is still needed.

Issue: 14297
2018-02-22 21:15:48 +01:00
Brad King 36fc89b7d9 Merge branch 'std-thread-link' into release-3.11
Merge-request: !1789
2018-02-22 13:15:58 -05:00
Brad King 94eee5e683 CMakeLib: Link to system thread libraries to support std::thread
Some environments require linking to thread libraries for `std::thread`.
Express this direct dependency of CMakeLib explicitly.  Previously this
was done indirectly through our bundled libuv, but that does not work
when using a system libuv.

Fixes: #17757
2018-02-22 12:59:20 -05:00
Brad King 020be379f4 Merge topic 'fortran-compiler'
965f977c Fortran: Adjust compiler candidates based on host platform

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1780
2018-02-22 11:37:10 -05:00
Brad King 5c0223886e Merge topic 'setidentifier_move'
46436581 cmGeneratorExpression: Use std::move to avoid vector copies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1779
2018-02-22 11:36:34 -05:00
Brad King b0e2b256c8 Merge topic 'cmake-build-global-gen'
83f8e764 cmake: Fix global generator path style in --build mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1784
2018-02-22 11:34:50 -05:00
Brad King 8ac6c7e7f3 Merge topic 'test-ExternalProject-serial'
8a55ad2c Tests: Run ExternalProject tests serially

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1783
2018-02-22 11:26:57 -05:00
Brad King 8d70cddd22 Merge branch 'release-3.11' 2018-02-22 11:24:32 -05:00
Brad King dcb45a1161 Merge topic 'test-CompileFeatures-c11-range'
972f7caa Tests: Make CompileFeatures C dialect check consistent with impl

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1785
2018-02-22 11:24:04 -05:00
Kitware Robot a08ede979b CMake Nightly Date Stamp 2018-02-22 00:01:07 -05:00
Vitaly Stakhovsky b723fe3d7d VS: Convert loops to C++11, other C++ improvements 2018-02-21 21:18:59 -05:00
Brad King 42793aeabc Merge branch 'release-3.11' 2018-02-21 14:52:45 -05:00
Brad King 8f869ad716 Merge topic 'autogen-depend-filters-documentation'
bfffe42b Autogen: Doc: Extend AUTOMOC_DEPEND_FILTERS documentation
1cf7c54a Autogen: Doc: Extend AUTOGEN_TARGET_DEPENDS documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1782
2018-02-21 14:45:11 -05:00
Brad King 13c5a91197 Merge branch 'test-CompileFeatures-c11-range' into release-3.11
Merge-request: !1785
2018-02-21 14:41:56 -05:00
Brad King 972f7caad3 Tests: Make CompileFeatures C dialect check consistent with impl
`Modules/CMakeCCompilerId.c.in` will report the C dialect as 11 whenever
`__STDC_VERSION__` indicates *at least* C 11.  Make the test consistent
with this.  We already do this for the C++ case.

Fixes: #17740
2018-02-21 14:39:09 -05:00
Frank Winklmeier 46436581c6 cmGeneratorExpression: Use std::move to avoid vector copies
Use move semantics in GeneratorExpressionContent::SetIdentifier and
::SetParameters to avoid vector copies.
2018-02-21 11:11:50 -05:00
Brad King fef001884f Merge topic 'FindLua-tolerate-var'
6cced787 FindLua: Fix error when LUA_INCLUDE_PREFIX is set as a variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1778
2018-02-21 10:44:08 -05:00
Brad King fcae625f48 Merge topic 'FindwxWidget/fix-eating-minusL-in-path'
67db3ff9 Fix eating "-L" in path names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1775
2018-02-21 10:43:40 -05:00
Brad King 283562624c Merge topic 'find-linker'
e936b6bb CMakeFindBinUtils: Find linker in PATH

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1720
2018-02-21 10:43:09 -05:00
xoviat e936b6bb5a CMakeFindBinUtils: Find linker in PATH
Fixes: #17693
2018-02-21 10:42:15 -05:00
Brad King d513a4035b Merge branch 'autogen-depend-filters-documentation' into release-3.11
Merge-request: !1782
2018-02-21 10:33:12 -05:00
Sebastian Holtermann bfffe42b98 Autogen: Doc: Extend AUTOMOC_DEPEND_FILTERS documentation 2018-02-21 10:28:43 -05:00
Sebastian Holtermann 1cf7c54a6b Autogen: Doc: Extend AUTOGEN_TARGET_DEPENDS documentation 2018-02-21 10:28:43 -05:00
xoviat 965f977c7c Fortran: Adjust compiler candidates based on host platform
Typical Fortran compiler command-line tool names differ on Windows and
non-Windows platforms.  Also, the name `ifc` should not be used on
Windows because there is an `ifc.exe` tool in Visual Studio that is
unrelated.

Fixes: #17752
2018-02-21 10:23:38 -05:00
Brad King 83f8e76467 cmake: Fix global generator path style in --build mode
Fix the `--build` code path so that `cmSystemTools::SetForceUnixPaths`
is called with the global generator's path style.  This makes forwarding
of `--target subdir/src.c.obj` match the slash style the generator
placed in the build system.

Fixes: #17742
2018-02-21 10:13:47 -05:00
Brad King 8a55ad2c5b Tests: Run ExternalProject tests serially
These tests use a lot of resources, so run them separately from other
tests to avoid competition (which may cause spurious timeouts).
2018-02-21 08:32:43 -05:00
Kitware Robot 4e6f94d49c CMake Nightly Date Stamp 2018-02-21 00:01:09 -05:00
Frank Benkstein 6cced78725 FindLua: Fix error when LUA_INCLUDE_PREFIX is set as a variable
We use `LUA_INCLUDE_PREFIX` for the result of an internal `find_path`
call and unset the cache entry before each use.  Unset a plain variable
of this name too in case it was set by project code.  Otherwise the
`find_path` call may be skipped and the wrong value used, leading to
errors.
2018-02-20 16:13:45 -05:00
Claus Klein 84de8b80ec Ninja: Use as dependency file <objectDir/SourceName>.d if needed. 2018-02-20 21:42:50 +01:00
Brad King b89252689c Merge branch 'release-3.11' 2018-02-20 11:55:46 -05:00
Brad King a8d182fbbf Merge topic 'ti-depfile-flag-fix'
cab9af7e Compiler/TI: Fix depfile generation for C++

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1774
2018-02-20 11:54:15 -05:00
Brad King 82c23d6afc Merge branch 'ti-depfile-flag-fix' into release-3.11
Merge-request: !1774
2018-02-20 11:52:30 -05:00
Grzegorz Dobinski cab9af7e97 Compiler/TI: Fix depfile generation for C++
In commit v3.11.0-rc1~466^2 (Compiler/TI: Add support for depfile
generation for Ninja, 2017-10-16) the flag for C++ was added in a
variable with a typo in its name.  Fix the spelling.

Issue: #17360
2018-02-20 11:52:11 -05:00
Brad King 846a4dd118 Merge topic 'string-join'
689eeb67 string: Add JOIN subcommand

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com>
Merge-request: !1762
2018-02-20 11:47:51 -05:00
Brad King 8a99ccc5ed Merge topic 'ninja-cmake-deps'
ed000d7d Ninja: Don't add custom command outputs to phony rule for CMake inputs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1768
2018-02-20 11:46:21 -05:00
Brad King 10f39ca7f7 Merge topic 'msvc-parallel-build-17696'
a1dee224 CMake: Enable /MP for MSVC toolchain

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1718
2018-02-20 11:44:59 -05:00
Brad King 3bc3762c7c Merge topic 'findzlib-folder-priority'
c01eede8 FindZLIB: Search names per directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1769
2018-02-20 11:42:23 -05:00
Brad King 1fbd5f4a7e Merge topic 'CheckCSourceRuns-log-run-output'
b25b39ad CheckCSourceRuns: Teach CHECK_C_SOURCE_RUNS to log run output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1772
2018-02-20 11:41:50 -05:00
Brad King 088c1876ef Merge topic 'follow-up-misc-typos'
287e7a17 Maint: misc. typos

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1771
2018-02-20 11:41:15 -05:00
Brad King 377254b195 Merge topic 'help_fixup'
1667e244 Help: Fix command references in CMAKE_NETRC* variable documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1770
2018-02-20 11:40:18 -05:00