Commit Graph

38482 Commits

Author SHA1 Message Date
Brad King
c2f79c9867 Genex: Enable COMPILE_LANGUAGE for COMPILE_DEFINITIONS with VS and Xcode
The set of compile flags used for a target's C and C++ sources is based
on the linker language.  By default this is always the C++ flags if any
C++ sources appear in the target, and otherwise the C flags.  Therefore
we can define the `COMPILE_LANGUAGE` generator expression in
`COMPILE_DEFINITIONS` to match the selected language.

This is not exactly the same as for other generators, but is the best VS
and Xcode can do.  It is also sufficient for many use cases since the
set of definitions for C and C++ is frequently similar but may be
distinct from those for other languages like CUDA.

Issue: #17435
2018-01-12 14:27:37 -05:00
Brad King
0795d25b78 cmVisualStudio10TargetGenerator: Factor out include dir computation 2018-01-11 15:03:02 -05:00
Brad King
1ab4d186a7 cmLocalVisualStudio7Generator: Clarify variable name of compiled language 2018-01-11 10:55:20 -05:00
Brad King
07e1a74361 cmLocalVisualStudio7Generator: Clarify condition for target that compiles 2018-01-11 10:54:06 -05:00
Brad King
ae7c7b6db5 Merge branch 'release-3.10' 2018-01-11 10:30:45 -05:00
Brad King
8c450b316f Merge topic 'autogen-nexist-source-fix'
be304fb8 Merge branch 'backport-autogen-nexist-source-fix' into autogen-nexist-source-fix
d592bfc9 Autogen: Ignore not existing source files in cmMakefile
513eb014 Autogen: Ignore not existing source files in cmMakefile

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1651
2018-01-11 10:29:58 -05:00
Brad King
be304fb8c0 Merge branch 'backport-autogen-nexist-source-fix' into autogen-nexist-source-fix 2018-01-11 10:28:00 -05:00
Brad King
66335350a3 Merge topic 'msvc-asm'
6c3f374e MSVC: Avoid warning when enabling ASM language with C compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1655
2018-01-11 10:23:08 -05:00
Brad King
2d5fdc25df Merge topic 'specify-source-extensions'
efd279cd cmake: specify source file extensions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1645
2018-01-11 10:19:25 -05:00
Brad King
30fcb92576 Merge topic 'misc-typos'
d91b2d91 MAINT: Misc. typos

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1654
2018-01-11 10:18:54 -05:00
Brad King
fe8d74cc60 Merge topic 'cuda_msvc_support_complex_gencode_signatures'
a91fde13 CUDA: gencode signature that list multiple code types now supported.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1618
2018-01-11 10:18:11 -05:00
Brad King
3f4924aa60 Merge topic 'FindBoost-1.66'
6297d6c7 FindBoost: Generate imported targets for future Boost versions
d56deff7 FindBoost: Search for upstream-packaged libs next to includes
b044f69a FindBoost: Implement "Architecture and Address Model" tag
b1e9f671 FindBoost: Fix incorrect alphabetisation of headers list
433a2d49 FindBoost: Boost 1.66.0 dependency and release update

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Jason Juang <jasjuang@gmail.com>
Merge-request: !1625
2018-01-11 10:16:55 -05:00
Brad King
37a3738b1a Merge topic 'doc-fixes'
da3a329a Linkify target_link_libraries in DEBUG_CONFIGURATIONS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1649
2018-01-11 10:16:01 -05:00
Brad King
45f2872129 Merge topic 'doc-install-arg-order'
f09fda97 Help: improve install() documentation of argument ordering

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1641
2018-01-11 10:15:27 -05:00
Christian Pfeiffer
8f1666b207 Merge topic 'findmpi-new-mpiexec-search'
5e9512a3 FindMPI: Move MSMPI/MPICH2 mpiexec search

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1653
2018-01-11 07:01:00 -05:00
Kitware Robot
b2369ad409 CMake Nightly Date Stamp 2018-01-11 00:01:51 -05:00
Brad King
6c3f374e99 MSVC: Avoid warning when enabling ASM language with C compiler
The `CMakeASMInformation` module warns when no compiler-specific module
is found for the `ASM` language.  Add a minimal `Compiler/MSVC-ASM`
module to avoid the warning for MSVC.

Fixes: #17532
2018-01-10 14:04:04 -05:00
Brad King
ecfc729ad4 Merge branch 'backport-autogen-nexist-source-fix' into release-3.10
Merge-request: !1650
2018-01-10 13:53:59 -05:00
Sebastian Holtermann
d592bfc9f5 Autogen: Ignore not existing source files in cmMakefile
Until CMake 3.10 a list of source files that had the AUTOUIC_OPTIONS property
populated was kept in `cmMakefile::QtUiFilesWithOptions`.  In the process to
remove all AUTOUIC related code from `cmMakefile` for CMake 3.10, the pre
filtered list was replaced by a loop in `cmQtAutoGeneratorInitializer` over
all source files in the `cmMakefile`.  This loop introduced the problem that
file paths were computed for source files that weren't in the target's sources
and that might not even have existed.  If the path for an unused and not
existing file was computed a `cmake::FATAL_ERROR` with the error message
"Cannot find source file:" was thrown nevertheless.
This caused some projects to fail in CMake 3.10.

This patch adds a test for path errors in the loops in
`cmQtAutoGeneratorInitializer` that iterate over all source files in a
`cmMakefile`. If a path error appears, the file is silently ignored.
If the file is part of the target's sources, the path error will still be
caught in the loop over all the target's sources.

This is the fix for CMake 3.10.1.
2018-01-10 19:46:22 +01:00
Sebastian Holtermann
513eb014eb Autogen: Ignore not existing source files in cmMakefile
Until CMake 3.10 a list of source files that had the AUTOUIC_OPTIONS property
populated was kept in `cmMakefile::QtUiFilesWithOptions`.  In the process to
remove all AUTOUIC related code from `cmMakefile` for CMake 3.10, the pre
filtered list was replaced by a loop in `cmQtAutoGeneratorInitializer` over
all source files in the `cmMakefile`.  This loop introduced the problem that
file paths were computed for source files that weren't in the target's sources
and that might not even have existed.  If the path for an unused and not
existing file was computed a `cmake::FATAL_ERROR` with the error message
"Cannot find source file:" was thrown nevertheless.
This caused some projects to fail in CMake 3.10.

This patch adds a test for path errors in the loops in
`cmQtAutoGeneratorInitializer` that iterate over all source files in a
`cmMakefile`. If a path error appears, the file is silently ignored.
If the file is part of the target's sources, the path error will still be
caught in the loop over all the target's sources.

Closes #17573
Closes #17589
2018-01-10 18:57:08 +01:00
luz.paz
d91b2d9158 MAINT: Misc. typos
Found via `codespell`
2018-01-10 12:34:14 -05:00
Christian Pfeiffer
5e9512a358 FindMPI: Move MSMPI/MPICH2 mpiexec search
Move the logic to search mpiexec for MSMPI and MPICH2 guesses to their
respective guessing logic. This way, we can prevent mix ups between
their mpiexecs and other potential matches, for example from an Intel
MPI installation.
2018-01-10 18:20:49 +01:00
Robert Maynard
a91fde135d CUDA: gencode signature that list multiple code types now supported.
Fixes #17263
2018-01-10 10:45:57 -05:00
Brad King
ddc4f9a3c0 Merge branch 'release-3.10' 2018-01-10 10:38:11 -05:00
Brad King
d08f3f551f Merge topic 'unhardcode-configuration-types'
1f4d7a07 Help: Add references and backticks in LINK_FLAGS prop_tgt
48f7e2d3 Unhardcode the CMAKE_CONFIGURATION_TYPES values

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1345
2018-01-10 10:35:04 -05:00
Brad King
1be22978e0 Merge topic 'serverTestInfoExpandVariables'
2c1ecab6 server: Expand generator expressions for test info

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1633
2018-01-10 10:34:24 -05:00
Brad King
e9237334a6 Merge topic 'update-kwiml'
8a53242d Merge branch 'upstream-KWIML' into update-kwiml
6e921648 KWIML 2018-01-09 (9c2d6cae)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1636
2018-01-10 10:32:16 -05:00
Paul "TBBle" Hampson
da3a329a06 Linkify target_link_libraries in DEBUG_CONFIGURATIONS 2018-01-11 00:00:30 +11:00
Paul "TBBle" Hampson
6297d6c7fd FindBoost: Generate imported targets for future Boost versions
Per discussion on cmake/cmake#17575, this protection not particularly
valuable, as the dependency information which the imported targets wrap
is generated anyway.

This removes a road-block for using `Boost_ADDITIONAL_VERSIONS` to
support newly-released Boost versions pending a new CMake release.
2018-01-10 17:17:32 +11:00
Paul "TBBle" Hampson
d56deff7d1 FindBoost: Search for upstream-packaged libs next to includes
Upstream packages Boost binaries for Windows with the 'boost' directory
(the INCLUDE_DIR) next to the lib-... directory (the LIBRARY_DIR).
2018-01-10 17:17:27 +11:00
Paul "TBBle" Hampson
b044f69a41 FindBoost: Implement "Architecture and Address Model" tag
This tag is new in Boost 1.66.0, and is present in the 'versioned'
library file name layout.
2018-01-10 17:17:20 +11:00
Paul "TBBle" Hampson
b1e9f67137 FindBoost: Fix incorrect alphabetisation of headers list 2018-01-10 17:17:10 +11:00
Paul "TBBle" Hampson
433a2d495a FindBoost: Boost 1.66.0 dependency and release update
Release notes: http://www.boost.org/users/history/version_1_66_0.html

* All new libraries are header-only.
* _Boost_COMPONENT_DEPENDENCIES is unchanged from 1.65.1
* _Boost_FIBER_COMPILER_FEATURES is unchanged from 1.64.0
2018-01-10 17:16:57 +11:00
Kitware Robot
89ec1aacd7 CMake Nightly Date Stamp 2018-01-10 00:01:50 -05:00
Craig Scott
e44c5828d3 Merge topic 'add_cuda_to_source_regex'
81868e6b CUDA: Add cu as default source file extension

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !1629
2018-01-09 16:15:11 -05:00
Brad King
0cfcea334b Merge branch 'backport-kwiml-riscv' into release-3.10
There is no corresponding merge request because this fix was
cherry-picked specifically for CMake 3.10.
2018-01-09 09:57:26 -05:00
Brad King
d49986b3b8 KWIML: Backport RISC-V update to CMake 3.10
Backport KWIML commit 6fc81d8816 (abi.h: Update RISC-V support for
revised macro names, 2017-12-30) to the CMake 3.10 release branch.

The upstream RISC-V project changed some compiler symbols so `__riscv__`
must now be renamed `__riscv`.

Patch-by: Richard W.M. Jones <rjones@redhat.com>
2018-01-09 09:52:07 -05:00
Brad King
e40541339a Merge branch 'release-3.10' 2018-01-09 09:45:58 -05:00
Brad King
ce629c5dde Merge topic 'FindPostgres_support_for_v10'
9417a6d3 FindPostgreSQL: Add support for PG10

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1635
2018-01-09 09:45:45 -05:00
Brad King
9559eb7aa7 Merge branch 'FindPostgres_support_for_v10' into release-3.10
Merge-request: !1635
2018-01-09 09:44:56 -05:00
Egor Pugin
9417a6d322 FindPostgreSQL: Add support for PG10 2018-01-09 09:43:41 -05:00
Brad King
ae89a6e110 Merge topic 'cpack_versions'
e4153640 Cpack.cmake: Document some CPACK_* default values

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1608
2018-01-09 09:38:02 -05:00
Brad King
1906dd3e3d Merge topic 'COMPILE_FLAGS-clarify-sf-prop-documentation'
118815f0 COMPILE_FLAGS: do not imply that the property is a list

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1640
2018-01-09 09:36:29 -05:00
Brad King
2cd2dd9cde Merge topic 'doc-CMAKE_SYSTEM_NAME-mode'
edebf6f3 Help: note that CMAKE_SYSTEM_NAME is not set in script mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1639
2018-01-09 09:35:46 -05:00
Brad King
947d6de833 Merge topic 'doc-OUTPUT_NAME-clarify'
6c5d3989 Help: fix documentation for OUTPUT_NAME

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1638
2018-01-09 09:35:19 -05:00
Brad King
847110e6fa Merge topic 'vs10-target-generator-range-for'
d09af946 VS: Modernize 'for' loops in cmVisualStudio10TargetGenerator to C++11

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !1617
2018-01-09 09:34:08 -05:00
Brad King
e2edc9280c Merge topic 'vs-ranged-for'
92c7b526 VS: Use range-based 'for' loops in generator code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !1616
2018-01-09 09:33:33 -05:00
Brad King
5fbfa18fad Merge topic 'FindCUDA-deduplicate-c+std-host-flags'
ff41a4b8 FindCUDA: de-duplicates C++11 flag when propagating host flags.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1628
2018-01-09 09:26:51 -05:00
Brad King
bc88329e5b Merge topic 'msvc2017-findcuda'
fab1b432 FindCUDA: Update to properly find MSVC 2017 compiler tools

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1631
2018-01-09 09:26:20 -05:00
Ben Boeckel
efd279cdfb cmake: specify source file extensions 2018-01-09 09:21:09 -05:00