summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'autogen_p' into release-3.9Brad King2017-07-051-1/+0
|\
| * Autogen: Continue search for FOO_p.h when FOO.h was foundSebastian Holtermann2017-07-021-1/+0
| |
* | Merge branch 'autogen-header-skip' into release-3.9Brad King2017-07-051-1/+1
|\ \
| * | Autogen: Check .moc header name against SKIP listSebastian Holtermann2017-06-301-1/+1
| | | | | | | | | | | | | | | | | | When encountering an #include "FOO.moc" statement where FOO.hpp was chosen over FOO.cpp as the moc source, the FOO.hpp name was not checked against the moc SKIP list.
* | | Merge branch 'vs-link-guard-cf' into release-3.9Brad King2017-06-302-6/+0
|\ \ \ | |_|/ |/| |
| * | VS: Fix support for '/guard:cf' linker flagOlender, Sebastian D2017-06-302-6/+0
| | | | | | | | | | | | | | | | | | | | | Although `$(VCTargetsPath)/1033/link.xml` for v140 and v141 toolsets contains an entry for `LinkControlFlowGuard`, it does not work when used in a `.vcxproj` file. Drop our link flag table entries for these toolsets so that the flag will be passed via `AdditionalOptions`.
* | | Merge branch 'xcode-cross-sdk-object-libraries' into release-3.9Brad King2017-06-302-5/+5
|\ \ \ | |/ / |/| |
| * | Xcode: Use correct Object Library paths for cross-SDK buildsGregor Jasny2017-06-292-5/+5
| |/ | | | | | | | | | | | | | | When calculating Object Library paths take a look at the `XCODE_EMIT_EFFECTIVE_PLATFORM_NAME` property to enable builds with different SDKs. Otherwise a hard-coded architecture could be chosen. Fixes: #16040
* | VS: Add v140 and v141 flag table entries for /DEBUG:NONE and /DEBUG:FULLIan Hojnicki2017-06-282-0/+11
| |
* | VS: Fix GenerateDebugInformation values for v140 and v141 toolsetsBrad King2017-06-285-30/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When VS 2015 was first released, its new v140 toolset came with a `link.xml` file that changed the `GenerateDebugInformation` boolean (`false` and `true`) value from earlier toolsets to an enumeration consisting of the possible values `No`, `Debug`, and `DebugFastLink`. We first adapted to this in commit v3.4.2~2^2 (VS: Fix VS 2015 .vcxproj file value for GenerateDebugInformation, 2016-01-08), but that broke older toolsets that still expected the boolean. Then commit v3.6.0-rc1~295^2~1 (VS: Fix VS 2015 .vcxproj debug setting for older toolsets, 2016-02-24) added a hack to fix up the value based on the toolset in use. Several follow-up commits fixed this for more older toolsets because our flag table was at the time based on the generator in use rather than the toolset in use. Since commit v3.8.0-rc1~396^2 (VS: Choose flag map based on the toolset name, 2016-10-17) we use a flag table based on the toolset, so the fixup hack should not be needed. We had to keep it around only due to our default value for GenerateDebugInformation (`false` or `No`) still being based on the generator instead of the toolset. A VS 2015 update was released that changed the v140 toolset `link.xml` file back to using `false` and `true` for the `GenerateDebugInformation` enumeration variants previously known as `No` and `Debug`. In order to know which pair to use, we need to parse the `link.xml` file for the current toolset. Switch back to using `false` and `true` unconditionally in our `GenerateDebugInformation` flag table entries and default value. With that plus the toolset-based flag table, we now get incorrect values for `GenerateDebugInformation` only when using a v140 toolset from an older VS 2015 installation. Detect this case by parsing `link.xml` and add special logic to convert `false` and `true` to `No` and `Debug` to satisfy the older toolset specification. Inspired-by: Ian Hojnicki <nullref@live.com> Fixes: #17020
* | VS: Fix GenerateDebugInformation flag map text for v141 toolsetsIan Hojnicki2017-06-281-2/+2
| | | | | | | | Update the help text to match that from v141's link.xml file.
* | VS: Split link flag table between v140 and v141 toolsetsIan Hojnicki2017-06-285-6/+291
|/
* CMake 3.9.0-rc5v3.9.0-rc5Brad King2017-06-271-1/+1
|
* Merge branch 'fix-crash-on-non-enabled-language-features' into release-3.9Brad King2017-06-271-2/+19
|\
| * target_compile_features: Do not crash on non-enabled languageBrad King2017-06-261-2/+19
| | | | | | | | Fixes: #17011
* | Merge branch 'vs-cuda-fix-flags' into release-3.9Brad King2017-06-271-3/+3
|\ \ | |/ |/|
| * VS: Fix support for nvcc flags not in our flag tableBrad King2017-06-271-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | The change in commit v3.9.0-rc4~3^2 (VS: Improve workaround for CUDA -Xcompiler placement bug, 2017-06-21) accidentally appended to the `AdditionalOptions` as if it were a `;`-separated list, but it is actually a command-line string. Append with a space instead. While at it, fix the same problem for the `AdditionalOptions` added to `CudaLink` by commit v3.9.0-rc3~1^2 (CUDA: When linking device code suppress CUDA 8.0+ deprecation warnings, 2017-06-09). Fixes: #17008
* | CMake 3.9.0-rc4v3.9.0-rc4Brad King2017-06-221-1/+1
| |
* | Merge branch 'vs-rc-flags' into release-3.9Brad King2017-06-224-0/+4
|\ \
| * | VS: Fix support for rc /nologo flag in per-source COMPILE_FLAGSBrad King2017-06-224-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v3.9.0-rc1~160^2 (VS: Use tool-specific flag table for COMPILE_FLAGS parsing, 2017-05-03) we now correctly use the `rc` flag table to process the COMPILE_FLAGS flags of `.rc` source files instead of incorrectly using the `cl` flag table as before. However, our `rc` flag table is not complete. The `/nologo` flag was working before only by accident because the `cl` flag table entry for it happened to match. Add the proper entry to the `rc` flag table. Fixes: #16991
* | | Merge branch 'vs-cuda-fix-flags' into release-3.9Brad King2017-06-211-10/+35
|\ \ \ | | |/ | |/|
| * | VS: Improve workaround for CUDA -Xcompiler placement bugBrad King2017-06-211-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit v3.9.0-rc1~431^2~6 (VS: Place CUDA host compiler options in proper project file fields, 2017-03-07) we worked around a bug in the CUDA VS integration by dropping `AdditionalCompilerOptions`. However, this silently drops `-Xcompiler=` options given by the user that don't map to one of CudaCompile's dedicated settings. Improve the workaround to instead put the remaining `AdditionalCompilerOptions` into the `AdditionalOptions` field behind `-Xcompiler=` ourselves.
| * | VS: Fix target_compile_options for CUDABrad King2017-06-211-7/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the VS generator to honor `COMPILE_OPTIONS` for CUDA. The exclusion added by commit v3.9.0-rc1~431^2~7 (VS: Do not pass CUDA compile options to C compiler, 2017-03-07) was correct but we need additional logic to pass the CUDA compile options to the CUDA compiler. Also we should still pass the CXX or C options to MSVC (ClCompile) when those languages are enabled even if the link language is CUDA.
* | | Vs: allow CSharp targets to be linked to CXX targetsMichael Stürmer2017-06-211-4/+0
|/ / | | | | | | Fixes: #16755
* | Merge branch 'ipo-per-lang' into release-3.9Brad King2017-06-148-20/+28
|\ \
| * | IPO: Consider support for each language separatelyBrad King2017-06-148-20/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | We only define `INTERPROCEDURAL_OPTIMIZATION` behavior for C, CXX, and Fortran languages. Do not try to enable support for other languages. Furthermore, each language builds with a different compiler, so check for support by CMake and the compiler for each language independently. Fixes: #16944
* | | Merge branch 'libuv-restore-fmode' into release-3.9Brad King2017-06-141-0/+16
|\ \ \
| * | | cmake: Fix default file translate mode when using libuvBrad King2017-06-141-0/+16
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Windows, libuv's one-time initialization changes the C runtime library's `_fmode` setting to `_O_BINARY`, thus causing files to open as binary after that instead of the default `_O_TEXT` mode. See upstream libuv issue 840. Work around the problem by performing libuv initialization early and then restoring `_fmode`. In particular, this currently affects server mode. Without this fix, the `_fmode` setting changes when the server mode initializes libuv. Fixes: #16962
* | | CMake 3.9.0-rc3v3.9.0-rc3Brad King2017-06-131-1/+1
| | |
* | | Merge branch 'cuda-dlink-no-deprecated-gpu' into release-3.9Brad King2017-06-131-0/+7
|\ \ \
| * | | CUDA: When linking device code suppress CUDA 8.0+ deprecation warningsRobert Maynard2017-06-131-0/+7
| |/ / | | | | | | | | | | | | | | | The CUDA compiler automatic deprecation warnings are pure noise when doing device linking, and should be suppressed to reduce the amount of confusion from users.
* | | Merge branch 'improve-msvc-feature-checks' into release-3.9Brad King2017-06-081-1/+3
|\ \ \
| * | | C++ feature checks: Improve exclusion of "0 Warning(s)"Brad King2017-06-081-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simply matching "0 Warning" may match "10 Warning(s)". Instead remove the entire ` 0 Warning(s)` content from the MSBuild output before searching it for warnings. Issue: #16942
* | | | CMake 3.9.0-rc2v3.9.0-rc2Brad King2017-06-071-1/+1
| | | |
* | | | Merge branch 'autogen-no-vs-per-config' into release-3.9Brad King2017-06-071-0/+4
|\ \ \ \
| * | | | Autogen: Do not use per-config file suffixes with VS yetBrad King2017-06-071-0/+4
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The change in commit v3.9.0-rc1~42^2~1 (Autogen: Per-config file suffixes, 2017-05-15) broke Visual Studio builds because the generators do not yet fully support per-config sources. Disable the behavior on Visual Studio generators for now. Fixes: #16939
* | | | Merge branch 'fix-vs2017-featuredetect' into release-3.9Brad King2017-06-061-1/+1
|\ \ \ \ | | |/ / | |/| |
| * | | C++ feature checks: Do not match "0 Warning(s)" as a warningWalter Gray2017-06-061-1/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | The change in commit v3.9.0-rc1~6^2~1 (C++ feature checks: check output for '[Ww]arning', 2017-06-03) accidentally matches `0 Warning(s)` in the output and always thinks a warning exists, thus failing all checks in Visual Studio builds. Fixes: #16942
* | | CMake 3.9.0-rc1 version updatev3.9.0-rc1Brad King2017-06-051-3/+3
|/ /
* | Merge topic 'lint-function-args'Brad King2017-06-0537-80/+82
|\ \ | | | | | | | | | | | | | | | | | | b1ec5dea Pass large types by const&, small types by value Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !927
| * | Pass large types by const&, small types by valueDaniel Pfeifer2017-06-0337-80/+82
| | |
* | | Merge topic 'cm_fallthrough'Brad King2017-06-0520-18/+111
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8d7b3ef5 Provide and use CM_FALLTHROUGH 0068224f C++ feature checks: check output for '[Ww]arning' Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !924
| * | | Provide and use CM_FALLTHROUGHDaniel Pfeifer2017-06-0320-17/+110
| | | |
| * | | C++ feature checks: check output for '[Ww]arning'Daniel Pfeifer2017-06-031-1/+1
| |/ /
* | | Merge topic 'display-ctest-disabled'Brad King2017-06-051-2/+6
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | f59d729c ctest: Display disabled status when ctest -N is called Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Craig Scott <craig.scott@crascit.com> Merge-request: !923
| * | | ctest: Display disabled status when ctest -N is calledChuck Atkins2017-06-021-2/+6
| | | |
* | | | CMake Nightly Date StampKitware Robot2017-06-051-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2017-06-041-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2017-06-031-1/+1
| |/ / |/| |
* | | Merge topic 'string-npos-cleanup'Brad King2017-06-0246-194/+206
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | db2d46e2 Remove second arg: npos in substr usages 8b6f439e Access string npos without instance 389ed56f cmLocalUnixMakefileGenerator3: Remove unnecessary local variable 9fe4a9e2 cmParseBlanketJSCoverage: Pass unmodified parameter as const& Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !905