Commit Graph

36453 Commits

Author SHA1 Message Date
Norbert Lange d8e6cd9ed8 IAR: Improve support for IAR ARM Compiler
Make the implementation for this compiler more complete.

IAR has multiple C++ modes, historically they were reduced c++ versions
for embedded that gradually improved to the full standard (which can be
reduced again by e.g. disabling rtti and exceptions).  The new
implementation picks the best available, but the c++ mode can also be
overridden by defining `CMAKE_IAR_CXX_FLAG`.

Add C/C++ standard flags so that all modes up to and including the last
supported standard are defined.

Fixes: #16826
2017-06-29 13:25:58 -04:00
Norbert Lange 0b1a2876c8 Add a CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID variable
Compilers such as MSVC and IAR may have variants that target different
architectures.  We have been using a `MSVC_<LANG>_ARCHITECTURE_ID`
variable to hold this information for MSVC.  Add an alternative with a
more general name (later we can port MSVC to it too).

This additional information may be needed to generate proper invocations
of the compiler based on its architecture variant.
2017-06-29 13:25:57 -04:00
Norbert Lange fea7d69dde Store CMAKE_ASM_COMPILER_VERSION persistently
We already do this for other languages like C and CXX.
2017-06-29 13:25:57 -04:00
Norbert Lange d2a8b5cea6 CMakeDetermineASMCompiler: Fix small copy-paste mistake
GNU is not a vendor of IAR.
2017-06-29 13:25:57 -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
Kitware Robot 581fda598c CMake Nightly Date Stamp 2017-06-26 00:01:04 -04:00
Kitware Robot 78f879f418 CMake Nightly Date Stamp 2017-06-25 00:01:04 -04:00
Kitware Robot 2731edf978 CMake Nightly Date Stamp 2017-06-24 00:01:04 -04:00
Kitware Robot 4c7caf15e4 CMake Nightly Date Stamp 2017-06-23 00:01:06 -04:00
Brad King 4d9ac96f28 Merge topic 'doc-dev-maint'
420e4844 Help/dev: Update maintainer guide with note about docs and tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1000
2017-06-22 11:57:32 -04:00
Brad King 8b2ab97709 Merge branch 'release-3.9' 2017-06-22 11:23:32 -04:00
Brad King 420e48442b Help/dev: Update maintainer guide with note about docs and tests 2017-06-22 11:02:05 -04:00
Brad King 8fe54172fc CMake 3.9.0-rc4 v3.9.0-rc4 2017-06-22 10:15:07 -04:00
Brad King 298272681c Merge branch 'release-3.9' 2017-06-22 10:14:17 -04:00
Brad King 426c83cf8f Merge topic 'vs-rc-flags'
974f4333 VS: Fix support for rc /nologo flag in per-source COMPILE_FLAGS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !998
2017-06-22 10:13:39 -04:00
Brad King 751f0e0adc Merge topic 'android-unified-headers'
5d317930 Android: Fix include path for unified headers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !997
2017-06-22 10:12:59 -04:00
Brad King 396b618c52 Merge topic 'vs-cuda-fix-flags'
3b754215 VS: Improve workaround for CUDA -Xcompiler placement bug
f2059585 VS: Fix target_compile_options for CUDA

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !996
2017-06-22 10:04:37 -04:00
Brad King 416e7919ec Merge topic 'cuda-macos-rpath-in-tests'
fff782f6 Tests: Simplify CUDA rpath on macOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !995
2017-06-22 10:03:02 -04:00
Brad King a66f9bc0c4 Merge topic 'vs_fix_configuration_error'
0db4c7a0 Tests: Verify registry value is not "/registry" before using

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !994
2017-06-22 10:02:43 -04:00
Brad King 9f3bf3cb9d Merge topic 'vs_csharp_link_to_managed_cxx'
51865fc6 Vs: allow CSharp targets to be linked to CXX targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !993
2017-06-22 09:58:28 -04:00
Brad King c8ee5dbc0c Merge branch 'vs-rc-flags' into release-3.9 2017-06-22 09:52:28 -04:00
Brad King 5ba09a75a2 Merge branch 'android-unified-headers' into release-3.9 2017-06-22 09:52:23 -04:00
Brad King 974f43338b VS: Fix support for rc /nologo flag in per-source COMPILE_FLAGS
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
2017-06-22 09:45:42 -04:00
Brad King 5d31793023 Android: Fix include path for unified headers
In commit v3.9.0-rc3~3^2 (Android: Add support for unified headers,
2017-06-12) we accidentally constructed the unified header include
directories from the linking sysroot.  Construct them from the
compiling sysroot instead.

Fixes: #16584
2017-06-22 08:28:44 -04:00
Kitware Robot 1218731a2a CMake Nightly Date Stamp 2017-06-22 00:01:06 -04:00
Brad King 3d99244477 Merge branch 'vs-cuda-fix-flags' into release-3.9 2017-06-21 14:24:23 -04:00
Brad King 3b75421515 VS: Improve workaround for CUDA -Xcompiler placement bug
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.
2017-06-21 14:24:11 -04:00
Brad King f2059585e6 VS: Fix target_compile_options for CUDA
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.
2017-06-21 14:23:46 -04:00
Brad King fff782f6a6 Tests: Simplify CUDA rpath on macOS
Use the `BUILD_RPATH` property and reference the CMake-computed location
of the runtime libraries.
2017-06-21 10:41:49 -04:00
Michael Stürmer 0db4c7a021 Tests: Verify registry value is not "/registry" before using
Fixes: #17002
2017-06-21 08:49:42 -04:00
Brad King fff7d8c666 Merge branch 'vs_csharp_link_to_managed_cxx' into release-3.9 2017-06-21 08:46:12 -04:00
Brad King ad4a68cca0 Merge branch 'release-3.9' 2017-06-21 08:44:56 -04:00
Brad King d7c694b2e7 Merge topic 'autogen_brace'
50b3837c Autogen: Q_OBJECT behind brace test
01d2b745 Autogen: Check for Q_OBJECT/Q_GADGET after brace

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !986
2017-06-21 08:38:11 -04:00
Brad King 1ac07c71d8 Merge topic 'CheckTypeSize-arm-archs'
72ccb9f4 CheckTypeSize: Add support for arm architectures

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !989
2017-06-21 08:37:17 -04:00
Brad King 2beac8991b Merge topic 'cuda-version-for-vs'
f94213a1 Help: Update 3.9 release notes with recommended CUDA version for VS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !990
2017-06-21 08:36:05 -04:00
Brad King ad7cf4b798 Merge topic 'update-expat'
d5afb178 expat: Fix compilation on systems without stdint.h
0a40c668 Merge branch 'upstream-expat' into update-expat
4b8a8c22 expat 2017-06-17 (c4446687)
d9d191a1 expat: Update script to get Expat 2.2.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !987
2017-06-21 08:35:18 -04:00
Michael Stürmer 51865fc67e Vs: allow CSharp targets to be linked to CXX targets
Fixes: #16755
2017-06-21 08:37:15 +02:00
Kitware Robot 782c1e2f37 CMake Nightly Date Stamp 2017-06-21 00:01:05 -04:00
Brad King ab4c3270ae Merge branch 'cuda-version-for-vs' into release-3.9 2017-06-20 10:25:19 -04:00
Brad King f94213a1ee Help: Update 3.9 release notes with recommended CUDA version for VS
CUDA 8.0.44 contains a bug in its VS integration that breaks
preprocessor definitions in some cases.  Recommend using at least 8.0.61
which fixes the problem.

Fixes: #16993
2017-06-20 10:25:05 -04:00
Douglas McKenzie 72ccb9f499 CheckTypeSize: Add support for arm architectures
This adds detection for `armv7`, `armv7s` and `arm64` when performing
type size checks on universal binaries for iOS.

Fixes: #16992
2017-06-20 10:04:05 -04:00
Brad King 5222289f1e Merge branch 'update-expat' into release-3.9 2017-06-20 09:06:09 -04:00
Brad King 8308803167 Merge topic 'FindICU-data-vars'
3566af83 FindICU: Search for packaged data files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !981
2017-06-20 09:00:32 -04:00
Brad King c2f119310f Merge topic 'FindwxWidgets-fix-flag-parse'
a7a0bf86 FindwxWidgets: Fix parsing of cxxflags when paths contain -D or -I

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !975
2017-06-20 08:59:40 -04:00
Brad King 7d83b8010e Merge topic 'curses-form-advanced'
8b53dee2 FindCurses: mark CURSES_FORM_LIBRARY as advanced

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !978
2017-06-20 08:58:39 -04:00
Brad King 95f546ec2b Merge topic 'vs_dotnet_referenceprop_documentation'
18443600 Vs: fix documentation for target property VS_DOTNET_REFERENCEPROP_*

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !980
2017-06-20 08:57:12 -04:00
Brad King d5afb178f1 expat: Fix compilation on systems without stdint.h 2017-06-20 08:55:48 -04:00
Sebastian Holtermann 50b3837c64 Autogen: Q_OBJECT behind brace test 2017-06-20 10:49:00 +02:00