Commit Graph

43076 Commits

Author SHA1 Message Date
Fred Baksik
5d2e1404bd GHS: Update project layout to build targets correctly
-- Restructure projects and files to support proper building of targets
   Build order is determined by hierarchy of project files and folders
   Custom targets may have been run multiple times in the original file / folder structure
-- Default to build targets that are part of ALL target
-- List all known targets for this project
   Includes global targets for ALL_BUILD and INSTALL
-- Compute build order for building targets
2019-04-11 13:15:50 -04:00
Fred Baksik
b6bfa7eeb2 GHS: Support add_dependencies() command
-- use references to list target dependencies
2019-04-11 13:15:50 -04:00
Fred Baksik
39ee9718d9 GHS: Support add_custom_target() command
-- add new project type that runs shell scripts in proper order
2019-04-11 13:15:50 -04:00
Fred Baksik
8d3dad9a76 GHS: Support add_custom_command( OUTPUT ) signature
-- add new file type to run a shell script
-- gbuild does not compute interfile dependencies like other build tools.
   Therefore calculate the required build order of custom commands and
   list all of them in the CMake Rules subproject.
2019-04-11 13:15:50 -04:00
Fred Baksik
37acc9e229 GHS: Update custom command build events
-- Fixes issue where commands run out of order; Run commands as single script
   Do not allow build events to run in parallel
-- Use command generator to parse the commands
-- Support pre-link build events
-- Support more options: COMMENT, BYPRODUCTS, WORKING_DIRECTORY
2019-04-10 11:54:56 -04:00
Brad King
7e60e77c3c Merge topic 'autogen_autorcc_no_libuv'
7b98a6eb68 Autogen: Rename cmQtAutoGeneratorRcc to cmQtAutoRcc
9710d4aacf Autogen: Move libuv loop from cmQtAutoGenerator to cmQtAutoGeneratorMocUic
95e72c0157 Autogen: Make cmQtAutoGenerator::FileSystem Logger free
f161cfe5a8 Autogen: Move Logger and FileSystem member variables to generator classes
7baec5e94b AutoRcc: Don't use cmQtAutoGenerator::FileSystem methods
191269d247 AutoRcc: Remove libuv event loop from cmQtAutoGeneratorRcc
95de172b68 AutoRcc: Make rcc parsing function private
521475b41b AutoRcc: Use cmQtAutoGen::RccLister in initializer and generator
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3202
2019-04-08 07:58:58 -04:00
Brad King
14270eab36 Merge topic 'genex-output_name'
1889ed923e Genex: Add capability to retrieve base name for various target artifacts
26b6d2aff0 Refactor struct TargetFileSystemArtifact

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3190
2019-04-08 07:52:58 -04:00
Marc Chevrier
1889ed923e Genex: Add capability to retrieve base name for various target artifacts
This new capability is required to solve efficiently issue #18771
2019-04-08 07:49:08 -04:00
Marc Chevrier
26b6d2aff0 Refactor struct TargetFileSystemArtifact
Creates base class TargetArtifactBase which enable to share code with
future new functionalities.
2019-04-08 07:48:20 -04:00
Brad King
c756fbce9b Merge topic 'ghs_os_dir'
a1e6b414b9 GHS: Update GHS_BSP_NAME processing
266dadf868 GHS: Print status message regarding GHS_OS_DIR

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3123
2019-04-08 07:45:13 -04:00
Brad King
99ce35ab9c Merge topic 'tidy-fixes'
c1d1027ac1 Enabled performance-inefficient-vector-operation check in clang-tidy

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3185
2019-04-08 07:44:10 -04:00
Brad King
658efb4c1a Merge topic 'modernize-raw-string-literal'
0090907e86 tidy: Fix modernize-raw-string-literal in FreeBSD CPack generator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3198
2019-04-08 07:42:56 -04:00
Kitware Robot
52aa682284 CMake Nightly Date Stamp 2019-04-08 00:01:07 -04:00
Kitware Robot
2f01090d81 CMake Nightly Date Stamp 2019-04-07 00:01:07 -04:00
Sebastian Holtermann
7b98a6eb68 Autogen: Rename cmQtAutoGeneratorRcc to cmQtAutoRcc
The class name `cmQtAutoGeneratorRcc` is long and cumbersome.  This shortens
it to `cmQtAutoRcc`.
2019-04-06 17:37:12 +02:00
Sebastian Holtermann
9710d4aacf Autogen: Move libuv loop from cmQtAutoGenerator to cmQtAutoGeneratorMocUic
`cmQtAutoGenerator` automatically started a libuv loop in the constructor.
The loop is needed in `cmQtAutoGeneratorMocUic`, but not in
`cmQtAutoGeneratorRcc` (anymore).  To avoid starting the loop in
`cmQtAutoGeneratorRcc`, this patch moves the loop variables and startup code
from `cmQtAutoGenerator` to `cmQtAutoGeneratorMocUic`.
2019-04-06 17:37:12 +02:00
Sebastian Holtermann
95e72c0157 Autogen: Make cmQtAutoGenerator::FileSystem Logger free
`cmQtAutoGenerator::FileSystem` used to have a reference to a
`cmQtAutoGenerator::Logger` instances.  This was used for utility methods
that automatically generated an error message on demand.  Unfortunately this
resulted in double error messages in some places.  To fix these and with
the additional purpose of removing the dependency of
`cmQtAutoGenerator::FileSystem` to `cmQtAutoGenerator::Logger`, this patch
removes the `Logger` reference in `cmQtAutoGenerator::FileSystem`.
In the process some silent error conditions gained error messages and
some existing error messages were extended.
2019-04-06 17:37:12 +02:00
Sebastian Holtermann
f161cfe5a8 Autogen: Move Logger and FileSystem member variables to generator classes
`cmQtAutoGenerator` automatically added `cmQtAutoGenerator::Logger` and
`cmQtAutoGenerator::FileSystem` member variables to all inherited classes.
This patch moves these members variable declarations to the inherited classes,
where needed.
2019-04-06 17:37:12 +02:00
Sebastian Holtermann
7baec5e94b AutoRcc: Don't use cmQtAutoGenerator::FileSystem methods
`cmQtAutoGenerator::FileSystem` is only required for concurrent file system
access, but `cmQtAutoGeneratorRcc` isn't concurrent.  Therefore this patch
replaces all `cmQtAutoGenerator::FileSystem` uses in `cmQtAutoGeneratorRcc`.
2019-04-06 17:37:08 +02:00
Sebastian Holtermann
191269d247 AutoRcc: Remove libuv event loop from cmQtAutoGeneratorRcc
Using a libuv event loop in AUTORCC is unnecessary and over complicated.
This patch removes the loop and makes `cmQtAutoGeneratorRcc::Process` a
regular serial processing method.
2019-04-06 16:38:40 +02:00
Sebastian Holtermann
95de172b68 AutoRcc: Make rcc parsing function private
The `.qrc` parsing functions in `cmQtAutoGen` are no longer needed outside
the private implementation of `cmQtAutoGen::RccLister`.  This makes them
private, too.
2019-04-06 16:17:40 +02:00
Sebastian Holtermann
521475b41b AutoRcc: Use cmQtAutoGen::RccLister in initializer and generator
Both classes `cmQtAutoGenInitializer` and `cmQtAutoGeneratorRcc` had
different implementations for reading the files list from a `.qrc` resources
file.  This patch replaces both implementations with the common simple
`cmQtAutoGen::RccLister` implementation.
2019-04-06 16:17:23 +02:00
Sebastian Holtermann
7cbde5c503 AutoRcc: Add cmQtAutoGen::RccLister class
The new `cmQtAutoGen::RccLister` class provides a simple interface to
list files in a `.qrc` resources file by either calling `rcc` with
list options or by parsing the resources file content.
2019-04-06 16:17:19 +02:00
Kitware Robot
7a5adae94d CMake Nightly Date Stamp 2019-04-06 00:01:08 -04:00
Brad King
ffcb4f7ec5 Merge topic 'rst-bad-markup-block'
a9b38a1757 cmRST: Fix crash on empty markup block
2024327746 Help: Remove empty literal block markup in RESOURCE target property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3197
2019-04-05 08:51:25 -04:00
Brad King
0090907e86 tidy: Fix modernize-raw-string-literal in FreeBSD CPack generator 2019-04-05 08:32:39 -04:00
Brad King
a9b38a1757 cmRST: Fix crash on empty markup block 2019-04-05 08:18:14 -04:00
Brad King
2024327746 Help: Remove empty literal block markup in RESOURCE target property
This was added accidentally by commit 456e0fb64f (Help: Improve
documentation formating, 2019-04-01).
2019-04-05 08:18:14 -04:00
Kitware Robot
52fb35bd69 CMake Nightly Date Stamp 2019-04-05 00:01:07 -04:00
Brad King
8c28e63cb4 Merge topic 'if-EXISTS-doc'
78ac8cb04a Help: clarify if(EXISTS) operation for symlinks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3189
2019-04-04 12:51:41 -04:00
Brad King
56abc31270 Merge topic 'improve-documentation'
456e0fb64f Help: Improve documentation formating

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3174
2019-04-04 11:48:55 -04:00
Brad King
a6324490e5 Merge branch 'release-3.14' 2019-04-04 11:46:03 -04:00
Brad King
cf70b87143 Merge topic 'armcc-compiler-id'
f28e7fc1a5 ARMCC: Do not identify ARMClang as ARMCC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3187
2019-04-04 11:44:02 -04:00
Brad King
5c1ead795d Merge topic 'vs2019-redist'
33ee779330 IRSL: Fix discovery of VS 2019 v142 toolset redistributables
d8cf8380fb MSVC: Fix MSVC_TOOLSET_VERSION for VS 2019 v142 toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3186
2019-04-04 11:43:18 -04:00
Brad King
192aa506c6 Merge branch 'vs2019-redist' into release-3.14
Merge-request: !3186
2019-04-04 11:40:22 -04:00
Brad King
d2473769e7 Merge branch 'armcc-compiler-id' into release-3.14
Merge-request: !3187
2019-04-04 11:40:12 -04:00
Brad King
33ee779330 IRSL: Fix discovery of VS 2019 v142 toolset redistributables
Since VS 2017's v141 toolset there is no longer a simple equation to
calculate the redist name, dll version, and VS IDE version from just the
MSVC toolset version.  Refactor the logic to use hard-coded values and
warn when a new version is not supported.

Fixes: #19125
2019-04-04 11:35:38 -04:00
Brad King
85b26a7254 Merge topic 'FindGLEW-lib-suffixes'
14c7396fb9 FindGLEW: fix CMAKE_FIND_LIBRARY_SUFFIXES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3179
2019-04-04 11:34:43 -04:00
Brad King
a15ed54dca Merge topic 'FindBoost-clang-cl'
d48bf97fd3 FindBoost: Consider boost suffixes suitable for clang-cl

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3164
2019-04-04 11:33:37 -04:00
Brad King
0dfb056cd3 Merge topic 'pr.projectbefore'
0761186949 project: Add variable CMAKE_PROJECT_INCLUDE_BEFORE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3175
2019-04-04 11:32:41 -04:00
Brad King
7795b3f2bf Merge topic 'modernize-raw-string-literal'
30bb14c657 Modernize: Enable modernize-raw-string-literal in clang-tidy

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3184
2019-04-04 11:30:54 -04:00
Brad King
dc6b76d1e7 Merge topic 'autogen_keywords_class'
18f7b2ed21 Autogen: Add more frequently used keywords to Keywords class
5fb122ff75 Autogen: Add `AUTO*_EXECUTABLE` strings to Keywords class
b32e18fb88 Autogen: Remove static const generator name strings from cmQtAutoGen
5431395d68 Autogen: Add cmQtAutogenGlobalInitializer::Keywords class
78eccc7836 Autogen: Remove lowercase generator name from generator variables class

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3182
2019-04-04 11:29:51 -04:00
Brad King
d1c2f8787c Merge topic 'FindPython-handle-virtual-env'
8a2f62cc18 FindPython*: Add capability to control virtual env handling.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3173
2019-04-04 11:28:49 -04:00
Brad King
a63a50c77a Merge topic 'remove_duplicates'
abbb8a7b1d Genex: Add $<REMOVE_DUPLICATES:list>
11338389e5 Help: Fix description in cmake-generator-expressions(7) manual

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3154
2019-04-04 11:27:28 -04:00
Bartosz Kosiorek
456e0fb64f Help: Improve documentation formating 2019-04-04 15:13:58 +02:00
Kitware Robot
3d6d7c170c CMake Nightly Date Stamp 2019-04-04 00:01:07 -04:00
Shoaib Meenai
78ac8cb04a Help: clarify if(EXISTS) operation for symlinks
if(EXISTS) resolves symlinks; note this explicitly in its documentation.
2019-04-03 17:25:52 -07:00
Douman
d48bf97fd3 FindBoost: Consider boost suffixes suitable for clang-cl
When compiling with `clang-cl` we can use either the MSVC- or
Clang-built boost libraries.
2019-04-03 14:30:11 -04:00
Brad King
6fdba8b8be Merge topic 'refactor-lang-flags'
707283981f VS: Use AddLanguageFlags to de-duplicate CMAKE_<LANG>_FLAGS* lookup
8ca1b26286 cmLocalGenerator: Factor IPO logic out of AddLanguageFlags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3177
2019-04-03 14:07:11 -04:00
Brad King
058217669f Merge topic 'find-dependency-fix-17583'
37da6af17d find_dependency: Always search dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3161
2019-04-03 14:05:57 -04:00