Commit Graph

26440 Commits

Author SHA1 Message Date
Alex Turbov
599587feb1 message(): Minor code modernization 2019-04-28 22:45:44 +10:00
Alex Turbov
6cc93b370e message(): Add support for log levels
Relates: #18943
Co-Authored-By: Craig Scott <craig.scott@crascit.com>
2019-04-28 22:45:44 +10:00
Alex Turbov
377d1b7896 cmSystemTools: Remove unused message-related code, simplify logic 2019-04-27 18:36:45 +10:00
Kitware Robot
a9c113fd3e CMake Nightly Date Stamp 2019-04-27 00:01:04 -04:00
Kitware Robot
68031b4fdd CMake Nightly Date Stamp 2019-04-26 00:01:07 -04:00
Kyle Edwards
1ddce8fd6d Merge topic 'cmWorkerPool_Tweaks'
56890ede2a cmWorkerPool: Factor our worker thread class (internals)
9794b72d38 cmWorkerPool: Set worker thread count separately to Process()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3260
2019-04-25 15:34:12 -04:00
Kitware Robot
4ccf40e61e CMake Nightly Date Stamp 2019-04-25 00:01:07 -04:00
Kyle Edwards
a7eb2877b8 Merge topic 'ctest_xml_tweaks'
d8af0700a3 ctest: consistently format generator name
95db11fdb1 ctest: Include ChangeId in Update.xml

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3259
2019-04-24 09:30:42 -04:00
Sebastian Holtermann
56890ede2a cmWorkerPool: Factor our worker thread class (internals)
This moves the `cmWorkerPoolInternal::WorkerT` class to `cmWorkerPoolWorker`
and changes the thread start interface to make it independent of the
`cmWorkerPoolInternal` type.
2019-04-24 12:54:19 +02:00
Sebastian Holtermann
9794b72d38 cmWorkerPool: Set worker thread count separately to Process()
Don't pass the desired worker thread count to the `cmWorkerPool::Process()`
method but set it separately with the new `cmWorkerPool::SetThreadCount`
method.  This allows calling `cmWorkerPool::Process()` repeatedly without
having to pass the thread count every time.
2019-04-24 12:32:58 +02:00
Kitware Robot
993dfa89d8 CMake Nightly Date Stamp 2019-04-24 00:01:04 -04:00
Zack Galbreath
d8af0700a3 ctest: consistently format generator name
Notes.xml and Upload.xml were missing a hyphen that the rest of
our XML files included.

ctest3.14.0-rc1 vs. ctest-3.14.0-rc1
2019-04-23 15:02:14 -04:00
Zack Galbreath
95db11fdb1 ctest: Include ChangeId in Update.xml 2019-04-23 14:56:46 -04:00
Kitware Robot
d170a3177f CMake Nightly Date Stamp 2019-04-23 00:01:04 -04:00
Brad King
d0e3701861 Merge topic 'msvc-warning-flags'
1baf122cd4 MSVC: Do not add /W3 to CMAKE_<LANG>_FLAGS by default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3250
2019-04-22 07:51:01 -04:00
Brad King
cb23f2ac8b Merge topic 'vs-default-platform'
db02be85a0 VS: Provide the default platform name to project code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3246
2019-04-22 07:38:33 -04:00
Kitware Robot
8c322f9313 CMake Nightly Date Stamp 2019-04-22 00:01:04 -04:00
Kitware Robot
77ae6ae860 CMake Nightly Date Stamp 2019-04-21 00:01:03 -04:00
Kitware Robot
0116bb19d3 CMake Nightly Date Stamp 2019-04-20 00:01:04 -04:00
Brad King
1baf122cd4 MSVC: Do not add /W3 to CMAKE_<LANG>_FLAGS by default
We do not add default warning flags on other compilers, and having
a warning flag in the default flags makes it hard for projects to
customize the warning level.  They need to use string processing
to remove `/W3` from `CMAKE_{C,CXX}_FLAGS`.  Therefore we should
drop it.

However, projects may be using string processing to replace `/W3`
with another flag, so we cannot simply drop it.  Add a policy to
drop it in a compatible way.

Fixes: #18317
2019-04-19 12:56:49 -04:00
Brad King
db02be85a0 VS: Provide the default platform name to project code
The value of `CMAKE_VS_PLATFORM_NAME` is computed by Visual Studio
generators based on `CMAKE_GENERATOR_PLATFORM` or some default.
Prior to the VS 2019 generator, the default was always `Win32`.
However, for the `Visual Studio 16 2019` generator, the default is
based on the host platform.

Store the default in a new `CMAKE_VS_PLATFORM_NAME_DEFAULT` variable for
use by project code.  This is particularly useful in toolchain files
because they are allowed to set `CMAKE_GENERATOR_PLATFORM` and so
`CMAKE_VS_PLATFORM_NAME` is not yet known.  Of course the toolchain file
author knows whether it will set `CMAKE_GENERATOR_PLATFORM`, and if not
then `CMAKE_VS_PLATFORM_NAME_DEFAULT` provides the platform name that
will be used.

Fixes: #19177
2019-04-19 07:46:13 -04:00
Kitware Robot
bf64e50da4 CMake Nightly Date Stamp 2019-04-19 00:01:04 -04:00
Brad King
2e94c1185b Merge topic 'unique'
9ecb3f8d5c Ninja,Makefile: use `unique_ptr` for memory management

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3230
2019-04-18 11:07:07 -04:00
Saleem Abdulrasool
9ecb3f8d5c Ninja,Makefile: use unique_ptr for memory management
Use a `unique_ptr` to manage the lifetime of the `MacOSXContentGenerator`
and 'OSXBundleGenerator` rather than manually handling the lifetime.
2019-04-18 11:05:25 -04:00
Brad King
52ef218664 Merge topic 'update-kwsys'
0e47391400 bootstrap: Update for new KWSys configuration option
fb15c27562 Merge branch 'upstream-KWSys' into update-kwsys
0225b05afe KWSys 2019-04-17 (c42b92f0)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3242
2019-04-18 11:01:50 -04:00
Kitware Robot
44c6acc053 CMake Nightly Date Stamp 2019-04-18 00:01:03 -04: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
fb15c27562 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2019-04-17 (c42b92f0)
2019-04-17 09:50:14 -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
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
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
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
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
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
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