Commit Graph

43198 Commits

Author SHA1 Message Date
Eicke Herbertz
a48ce8f4bf Help: Add documentation for default generator environment variables
Documentation for environment variables that control the default
generator selection:

* CMAKE_GENERATOR
* CMAKE_GENERATOR_INSTANCE
* CMAKE_GENERATOR_PLATFORM
* CMAKE_GENERATOR_TOOLSET
2019-05-22 07:40:49 -04:00
Eicke Herbertz
083cf7e8a2 cmake: Allow default generator to be set by environment variables
When there is no Generator available in the Cache, this will read
CMAKE_GENERATOR from environment before using the CMake platform default.
If CMAKE_GENERATOR is empty, use the platform default.

If a environment default generator is specified, subsequent variables
CMAKE_GENERATOR_(INSTANCE,PLATFORM,TOOLSET) are also evaluated
in the same way.
2019-05-16 23:00:27 +02:00
Brad King
2ed688a863 Merge topic 'msvc-runtime-library'
fb3370b6a1 MSVC: Add abstraction for runtime library selection
f621e7fa5d VS: Fix Fortran runtime library flag map special case for '-' options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Acked-by: Leonid Pospelov <pospelovlm@yandex.ru>
Merge-request: !3211
2019-04-17 11:01:37 -04:00
Brad King
fb3370b6a1 MSVC: Add abstraction for runtime library selection
Replace our hard-coded defaults for `/MD` and `/MDd` with a first-class
abstraction to select the runtime library from an enumeration of logical
names.  We've long hesitated to do this because the idea of "runtime
library selection" touches on related concepts on several platforms.
Avoid that scope creep by simply defining an abstraction that applies
only when targeting the MSVC ABI on Windows.

Removing the old default flags requires a policy because existing
projects may rely on string processing to edit them and choose a runtime
library under the old behavior.  Add policy CMP0091 to provide
compatibility.

Fixes: #19108
2019-04-17 11:00:44 -04:00
Brad King
5cd187147e Merge topic 'memorize_msvc_like_compilers_C_support'
8e4899fd6c CompileFeatures: Record which C features the MSVC compiler supports

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3226
2019-04-17 10:58:49 -04:00
Brad King
0238295c7e Merge branch 'release-3.14' 2019-04-17 10:57:47 -04:00
Brad King
87609eebf3 Merge topic 'libglvnd-subdir'
844050adaf FindOpenGL: look for GLVND libraries with a libglvnd suffix

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3236
2019-04-17 10:44:05 -04:00
Brad King
c648551bea Merge branch 'FindOpenGL-libglvnd-subdir' into release-3.14
Merge-request: !3236
2019-04-17 10:17:15 -04:00
Ben Boeckel
844050adaf FindOpenGL: look for GLVND libraries with a libglvnd suffix
On CentOS 6.10, the libglvnd package from EPEL installs its libraries
under a libglvnd subdirectory.
2019-04-17 10:16:46 -04:00
Kitware Robot
8d5eb97878 CMake Nightly Date Stamp 2019-04-17 00:01:04 -04:00
Brad King
2d37678226 Merge topic 'vs-project-import'
d145d72e70 VS: add target property VS_PROJECT_IMPORT_<propspath>

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3143
2019-04-16 13:43:52 -04:00
Brad King
9aecda56ba Merge topic 'genex-output_name'
60ec292258 Genex: Rename $<TARGET_*_OUTPUT_NAME:...> in $<TARGET_*_FILE_BASE_NAME:...>

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3228
2019-04-16 13:42:53 -04:00
Brad King
3205561b8a Merge topic 'string-repeat'
536cca60ea string: introduce `REPEAT` sub-command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3239
2019-04-16 13:40:02 -04:00
Brad King
34975815a8 Merge topic 'autogen_moc_uic_single_job_queue'
58f04b6ecf Autogen: Add ManySources test
a3f062091f Autogen: Rename `cmQtAutoGeneratorMocUic` class to `cmQtAutoMocUic`
8cb26a0a2a Autogen: Factor out concurrency framework to cmWorkerPool class

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3224
2019-04-16 13:38:21 -04:00
Brad King
68a0b51ef8 Merge branch 'release-3.14' 2019-04-16 13:36:54 -04:00
Brad King
7f9e93aa05 Merge topic 'vs2019-redist'
a0b6448c85 IRSL: Update redist directory for VS 2019 update 1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3233
2019-04-16 13:35:39 -04:00
Brad King
fc4324a27c Merge topic 'Boost-Gentoo'
0b54f72e94 FindBoost: Fix detection with version suffixes on Gentoo

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3237
2019-04-16 13:34:41 -04:00
Brad King
09fba6146f Merge branch 'Boost-Gentoo' into release-3.14
Merge-request: !3237
2019-04-16 13:34:03 -04:00
Rolf Eike Beer
0b54f72e94 FindBoost: Fix detection with version suffixes on Gentoo
The Gentoo case added by commit 1673923c30 (FindBoost: Add support for
Boost 1.67 with Python version suffixes, 2018-03-18, v3.11.0~3^2) left
out the `.` version component separator and instead duplicated the RPM
case.  Add the missing `.` now.

Fixes: #18743
2019-04-16 13:31:27 -04:00
Kitware Robot
5ec9d16b5a CMake Nightly Date Stamp 2019-04-16 00:01:04 -04:00
Leonid Pospelov
d145d72e70 VS: add target property VS_PROJECT_IMPORT_<propspath>
Fixes: #18998
2019-04-15 13:05:07 -04:00
Marc Chevrier
60ec292258 Genex: Rename $<TARGET_*_OUTPUT_NAME:...> in $<TARGET_*_FILE_BASE_NAME:...> 2019-04-15 18:22:14 +02:00
Alex Turbov
536cca60ea string: introduce REPEAT sub-command 2019-04-15 11:06:06 -04:00
Brad King
cce342a5b9 Merge branch 'vs2019-redist' into release-3.14
Merge-request: !3233
2019-04-15 11:02:17 -04:00
Brad King
a0b6448c85 IRSL: Update redist directory for VS 2019 update 1
VS 2019 Update 1 will fix its redist directories to be named `VC142`
instead of `VC141`.  It will also use cl `19.21` instead of `19.20`
so we can use that to distinguish the versions.

Fixes: #19131
2019-04-15 10:59:02 -04:00
Brad King
d38d7747fe Merge topic 'ctest-build-and-test-no-progress'
81cc3de28e ctest: drop incremental progress-only messages from build-and-test output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3225
2019-04-15 10:55:53 -04:00
Brad King
8905f04a1d Merge topic 'code-cleanup'
3e70a8d0df cmVisualStudio10TargetGenerator: Simplify code of two functions
e10b04ef05 cmVisualStudio10TargetGenerator: Use count instead of find
2418a5aec0 cmVisualStudio10TargetGenerator: Remove uses of const_cast

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3223
2019-04-15 10:54:39 -04:00
Brad King
8b667f24d4 Merge topic 'iar-generalize'
ea83d0f8fb IAR: Generalize and add support for IAR RX compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3196
2019-04-15 10:53:35 -04:00
Brad King
0793464d95 Merge topic 'ghs_custom'
2bae6a1346 GHS: Update tests and notes
3b415c60c1 GHS: Update ExternalProject for GHS tools
83c47ef5b8 GHS: Update project layout to accommodate gbuild inconsistencies
5d2e1404bd GHS: Update project layout to build targets correctly
b6bfa7eeb2 GHS: Support add_dependencies() command
39ee9718d9 GHS: Support add_custom_target() command
8d3dad9a76 GHS: Support add_custom_command( OUTPUT ) signature
37acc9e229 GHS: Update custom command build events

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Narendhar Manimohan <narendhar15@gmail.com>
Merge-request: !3119
2019-04-15 10:52:21 -04:00
Brad King
e2128e11ac Merge branch 'release-3.14' 2019-04-15 10:51:08 -04:00
Brad King
6aab5e0ef9 Merge topic 'FindBoost-msvc-toolset-14.2'
032e969879 Merge branch 'backport-FindBoost-msvc-toolset-14.2'
717e85418b FindBoost: Add support for MSVC toolset version 14.2
9010f5c18a FindBoost: Add support for MSVC toolset version 14.2

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3221
2019-04-15 10:49:54 -04:00
Sebastian Holtermann
58f04b6ecf Autogen: Add ManySources test
The QtAutogen/ManySources test generates a number of source, header, .ui and
.qrc files that get AUTOMOC, AUTOUIC and AUTORCC processed.  This stresses the
concurrency framework in `cmQtAutoMocUic` and should reveal any issues
with that.
2019-04-15 16:07:14 +02:00
Sebastian Holtermann
a3f062091f Autogen: Rename cmQtAutoGeneratorMocUic class to cmQtAutoMocUic
The class name `cmQtAutoGeneratorMocUic` is long and cumbersome.  This renames
it to `cmQtAutoMocUic`.
2019-04-15 16:07:13 +02:00
Sebastian Holtermann
8cb26a0a2a Autogen: Factor out concurrency framework to cmWorkerPool class
This factors out the concurrency framework in `cmQtAutoGeneratorMocUic` to a
dedicated class `cmWorkerPool` which might be reused in other places.

`cmWorkerPool` supports fence jobs that require that
- all other jobs before in the queue have been processed before the fence
  job processing gets started,
- no jobs later in the queue will be processed before the fence job processing
  has been completed.
Fence jobs are needed where the completion of all previous jobs in the queue
is a requirement for further processing.  E.g. in `cmQtAutoGeneratorMocUic`
the generation of `mocs_compilation.cpp` requires that all previous
source file parse jobs have been completed.
2019-04-15 16:07:13 +02:00
Kitware Robot
ef9c38ccf8 CMake Nightly Date Stamp 2019-04-15 00:01:03 -04:00
Kitware Robot
9194e9a782 CMake Nightly Date Stamp 2019-04-14 00:01:03 -04:00
Kitware Robot
e59e17c1c7 CMake Nightly Date Stamp 2019-04-13 00:01:12 -04:00
Robert Maynard
8e4899fd6c CompileFeatures: Record which C features the MSVC compiler supports
Use the infrastructure added by commit f92ccbc306
(CompileFeatures: memoize C compilers with full language level support)
to avoid using a `try_compile` to check for C 90/99/11 feature support when the running compiler is known to have a fixed set of feature support.
2019-04-12 14:39:57 -04:00
Brad King
a6bf68141f Merge branch 'backport-FindBoost-msvc-toolset-14.2' into release-3.14
Merge-request: !3221
2019-04-12 13:57:01 -04:00
Brad King
81cc3de28e ctest: drop incremental progress-only messages from build-and-test output
The cmake progress callback is called with non-negative progress values
to provide incremental updates on "Configuring" and "Generating" steps.
These are useful in interactive views but are just noise in test output.
2019-04-12 12:07:31 -04:00
Brad King
032e969879 Merge branch 'backport-FindBoost-msvc-toolset-14.2' 2019-04-12 11:37:51 -04:00
Brad King
717e85418b FindBoost: Add support for MSVC toolset version 14.2
Generalize the logic to express compatibility among 14.x versions.
2019-04-12 11:35:19 -04:00
Brad King
9010f5c18a FindBoost: Add support for MSVC toolset version 14.2
Generalize the logic to express compatibility among 14.x versions.
2019-04-12 11:33:52 -04:00
Leonid Pospelov
3e70a8d0df cmVisualStudio10TargetGenerator: Simplify code of two functions 2019-04-12 18:24:21 +03:00
Leonid Pospelov
e10b04ef05 cmVisualStudio10TargetGenerator: Use count instead of find 2019-04-12 18:22:00 +03:00
Leonid Pospelov
2418a5aec0 cmVisualStudio10TargetGenerator: Remove uses of const_cast 2019-04-12 18:20:07 +03:00
Brad King
7f83e8033b Merge topic 'memorize_cxx_compilers_with_full_98_support'
239a8a0266 CompileFeatures: Record when CXX compilers have gained full support for 98

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3213
2019-04-12 11:13:59 -04:00
Brad King
e3ebad7def Merge topic 'genex-target-prefix-suffix'
b70bac647d Genex: add $<TARGET_FILE_PREFIX:...> and $<TARGET_FILE_SUFFIX:...>
f65763fe9b Refactor: Add new methods to retrieve prefix and suffix

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3207
2019-04-12 10:22:33 -04:00
Brad King
4adc0b7c75 Merge topic 'iface-headers'
a40f9083dd INTERFACE Target: allow (PUBLIC/PRIVATE)_HEADER properties

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3181
2019-04-12 10:20:20 -04:00
Brad King
db6fdfdb05 Merge branch 'release-3.14' 2019-04-12 09:30:03 -04:00