Commit Graph

23065 Commits

Author SHA1 Message Date
Brad King
41be8a739e Merge topic 'autogen-no-generated-files'
9a34e95a Autogen: Skip generated files for compatibility with CMake 3.8

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1033
2017-07-10 10:22:00 -04:00
Brad King
4bf96ed9b0 Merge topic 'find_package-restore-considered-configs'
e7730d78 find_package: Restore longer message when config files were considered

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1032
2017-07-10 10:21:23 -04:00
Brad King
9eaf0fea28 Merge topic 'indented_cmakedefine'
58f47448 configure_file: Add support for indented cmakedefine

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1024
2017-07-10 10:21:00 -04:00
Kitware Robot
fc58819150 CMake Nightly Date Stamp 2017-07-10 00:01:09 -04:00
Kitware Robot
e09252f5d2 CMake Nightly Date Stamp 2017-07-09 00:01:09 -04:00
Kitware Robot
0ba4a4c36f CMake Nightly Date Stamp 2017-07-08 00:01:05 -04:00
Brad King
e7730d78b4 find_package: Restore longer message when config files were considered
Since commit v3.9.0-rc1~58^2 (find_package: shorten output for missing
package in config mode, 2017-05-09) we print only the one line

    - Could NOT find Foo (missing: Foo_DIR)

when package Foo cannot be found in CONFIG mode and it is not REQUIRED.
However, in the case that package configuration files were found but not
used, this one line message leaves out important information.  This can
happen when a package configuration file sets `Foo_FOUND` to `FALSE` or
when its package version file does not match the requested version.
Restore the longer message in these cases.  Otherwise a seemingly valid
explicit `Foo_DIR` setting appears to be silently ignored even if it was
considered.

Fixes: #17029
2017-07-07 11:43:59 -04:00
Brad King
9a34e95a41 Autogen: Skip generated files for compatibility with CMake 3.8
The change in commit v3.9.0-rc1~464^2~8 (Autogen: Add AUTOMOC/UIC
support for generated source files, 2017-03-02) changes behavior of
existing projects that may not expect `AUTOGEN` on generated files and
do not yet set `SKIP_AUTOGEN` on them.  Disable the behavior change for
now to fix the regression for CMake 3.9.  We can restore it later with a
policy.

In order to keep the implementation and tests working, add an
undocumented property we can use in the tests to enable the behavior
before the policy is introduced.

Fixes: #17031
Issue: #16186
2017-07-07 10:12:15 -04:00
Brad King
364496e4d2 Merge topic 'add-missing-fallthrough'
6c80e958 cmCTest: Add missing switch case fallthrough markup

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1027
2017-07-07 08:42:41 -04:00
Brad King
1ff7cd1fe7 Merge topic 'iar_improved'
d8e6cd9e IAR: Improve support for IAR ARM Compiler
0b1a2876 Add a CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID variable
fea7d69d Store CMAKE_ASM_COMPILER_VERSION persistently
d2a8b5ce CMakeDetermineASMCompiler: Fix small copy-paste mistake
a2112257 Add infrastructure to use language extensions without any standard
8cd28bb0 cmLocalGenerator: Switch order of <LANG>_{EXTENSIONS,STANDARD} check
0fc2d78e cmLocalGenerator: Simplify logic for language standard or extension flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !991
2017-07-07 08:42:22 -04:00
Brad King
d2617a28eb Merge topic 'connect_disablePCH_with_cl_option'
d1713d8b VS: connect /Y- compiler option with "Not Using Precompiled Headers"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1026
2017-07-07 08:41:30 -04:00
Kitware Robot
17115f0a5b CMake Nightly Date Stamp 2017-07-07 00:01:07 -04:00
Brad King
3572548eb3 Merge topic 'autogen_p'
251bcbed Autogen: Continue search for FOO_p.h when FOO.h was found

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1022
2017-07-06 10:13:25 -04:00
Kitware Robot
8bc93cdd79 CMake Nightly Date Stamp 2017-07-06 00:01:05 -04:00
Brad King
6c80e958ca cmCTest: Add missing switch case fallthrough markup
Without this, GCC 7 warns.

Reported-by: Rolf Eike Beer <eike@sf-mail.de>
2017-07-05 11:48:47 -04:00
Brad King
f973d49ab9 Merge topic 'vs-link-guard-cf'
82a5c2c6 VS: Fix support for '/guard:cf' linker flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1018
2017-07-05 10:11:21 -04:00
Brad King
a57b353750 Merge topic 'autogen-header-skip'
83d8acee Autogen: Check .moc header name against SKIP list

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1017
2017-07-05 10:11:00 -04:00
Olender, Sebastian D
d1713d8bc5 VS: connect /Y- compiler option with "Not Using Precompiled Headers"
The change allows to selectively disable PrecompiledHeaders.
Despite the `$(VCTargetsPath)/1033/cl.xml` contains an empty value for switch,
for effectively turn off setting need to use /Y- option as described on msdn:
https://msdn.microsoft.com/en-us/library/1hy7a92h.aspx
2017-07-05 10:58:04 +02:00
Kitware Robot
cdb43f1c88 CMake Nightly Date Stamp 2017-07-05 00:01:08 -04:00
Sylvain Joubert
58f4744821 configure_file: Add support for indented cmakedefine
Optional spaces and/or tabs are now understood between the '#' character
and the 'cmakedefine'/'cmakedefine01' words. This indentation is
preserved in the output lines.

Fixes: #13037
2017-07-04 12:00:02 +02:00
Kitware Robot
74112c8da1 CMake Nightly Date Stamp 2017-07-04 00:01:04 -04:00
Kitware Robot
ec64410078 CMake Nightly Date Stamp 2017-07-03 00:01:08 -04:00
Sebastian Holtermann
251bcbed72 Autogen: Continue search for FOO_p.h when FOO.h was found 2017-07-02 22:54:35 +02:00
Kitware Robot
43fc13f825 CMake Nightly Date Stamp 2017-07-02 00:01:04 -04:00
Kitware Robot
0dddf85b6d CMake Nightly Date Stamp 2017-07-01 00:01:06 -04:00
Sebastian Holtermann
83d8aceeb3 Autogen: Check .moc header name against SKIP list
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.
2017-06-30 12:53:24 -04:00
Olender, Sebastian D
82a5c2c6a5 VS: Fix support for '/guard:cf' linker flag
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`.
2017-06-30 10:57:40 -04:00
Brad King
15c5d9a0dd Merge topic 'xcode-cross-sdk-object-libraries'
c2a6df94 Xcode: Use correct Object Library paths for cross-SDK builds

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1016
2017-06-30 10:32:02 -04:00
Brad King
bc92960b63 Merge branch 'xcode-cross-sdk-object-libraries' into release-3.9 2017-06-30 10:16:30 -04:00
Kitware Robot
db96ebaa7b CMake Nightly Date Stamp 2017-06-30 00:01:06 -04:00
Brad King
a2112257df Add infrastructure to use language extensions without any standard
When `<LANG>_STANDARD` is not set we will not add any language standard
flags.  If `<LANG>_EXTENSIONS` is not OFF then our default is supposed
to be ON.  In order to support compilers that do not enable their
extensions by default, check a `CMAKE_<LANG>_EXTENSION_COMPILE_OPTION`
variable for an extensions flag to use without any language standard.

Suggested-by: Norbert Lange <nolange79@gmail.com>
2017-06-29 13:25:19 -04:00
Brad King
8cd28bb0e5 cmLocalGenerator: Switch order of <LANG>_{EXTENSIONS,STANDARD} check 2017-06-29 13:22:32 -04:00
Brad King
0fc2d78ee9 cmLocalGenerator: Simplify logic for language standard or extension flag 2017-06-29 13:22:32 -04:00
Gregor Jasny
c2a6df94ed Xcode: Use correct Object Library paths for cross-SDK builds
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
2017-06-29 09:52:44 -04:00
Brad King
55465be840 Merge topic '16961-xctest-scheme'
fe34a5c8 Xcode: Add XCTest support to schema generator
690cf2c1 Xcode: Prepare schema generator for XCTest
ff3498e7 XCTest: Speed up test by only enabling C language
610d2fce XCTest: Use bundle specific generator expressions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1013
2017-06-29 09:50:29 -04:00
Brad King
1ac89a4e06 Merge topic 'deb-on-windows'
52991413 CPackDeb: Enable the DEB generator on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !979
2017-06-29 09:49:29 -04:00
Brad King
a9b88ffdfc Merge topic 'vs-link-debug-flags'
7ba27e36 VS: Add v140 and v141 flag table entries for /DEBUG:NONE and /DEBUG:FULL
ae44496e VS: Fix GenerateDebugInformation values for v140 and v141 toolsets
27bef160 VS: Fix GenerateDebugInformation flag map text for v141 toolsets
17a397c2 VS: Split link flag table between v140 and v141 toolsets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1002
2017-06-29 09:49:01 -04:00
Kitware Robot
aaa545f867 CMake Nightly Date Stamp 2017-06-29 00:01:06 -04:00
Gregor Jasny
fe34a5c82b Xcode: Add XCTest support to schema generator
Closes: #16961
2017-06-28 22:21:52 +02:00
Gregor Jasny
690cf2c1b2 Xcode: Prepare schema generator for XCTest
Issue: #16961
2017-06-28 22:06:49 +02:00
Nils Gladitz
5299141320 CPackDeb: Enable the DEB generator on Windows
While some features require external Unix tools the
generator is mostly portable.

By enabling it on Windows it can be used for cross platform
packaging.
2017-06-28 19:55:12 +02:00
Ian Hojnicki
7ba27e364f VS: Add v140 and v141 flag table entries for /DEBUG:NONE and /DEBUG:FULL 2017-06-28 08:55:40 -04:00
Brad King
ae44496e2b VS: Fix GenerateDebugInformation values for v140 and v141 toolsets
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
2017-06-28 08:55:40 -04:00
Ian Hojnicki
27bef1609b VS: Fix GenerateDebugInformation flag map text for v141 toolsets
Update the help text to match that from v141's link.xml file.
2017-06-28 08:55:40 -04:00
Ian Hojnicki
17a397c22a VS: Split link flag table between v140 and v141 toolsets 2017-06-28 08:55:40 -04:00
Brad King
0552747b58 Merge topic 'feature/include_guard'
c96f43b7 include_guard: add tests for the feature
80f1221f include_guard: add doc pages and a release note
85b52a04 include_guard: add vim syntax highlighting rules
d44bd1c2 include_guard: implement new command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Craig Scott <craig.scott@crascit.com>
Merge-request: !928
2017-06-28 08:53:30 -04:00
Brad King
45ca0403ac Merge topic 'fix-windows-ninja-solink'
58017517 Ninja: Fix generated command lines for cmake_symlink_* on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1003
2017-06-28 08:46:07 -04:00
Kitware Robot
9ab399ba82 CMake Nightly Date Stamp 2017-06-28 00:01:06 -04:00
Brad King
372de3f803 CMake 3.9.0-rc5 2017-06-27 10:59:58 -04:00
Brad King
126effbb9c Merge topic 'vs_csharp_custom_command'
ec409a11 Vs: fix CSharp custom command by introducing inline MSBuild <Targets>s
dcdab5cf Vs: factor out computation of <Link> tag for CSharp source files
0a8f469a Vs: refactor WriteCustomRule for preparation of CSharp support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !970
2017-06-27 09:21:38 -04:00