summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* GHS: Update tests and notesFred Baksik2019-04-1123-10/+381
| | | | | | | | | -- add new tests for custom commands -- minor test cleanup Fixes #15995 Fixes #18909 Fixes #15902
* GHS: Update ExternalProject for GHS toolsFred Baksik2019-04-112-13/+27
| | | | | | | | | -- When using default values for the external project forward GHS platform variables so that the external project builds with the same tools as the original project. -- Fix issue with bad top level project when GHS_PRIMARY_TARGET is set but has no value. In this case treat it as unset and use default value.
* GHS: Update project layout to accommodate gbuild inconsistenciesFred Baksik2019-04-114-135/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- Do not use reference projects, use build hierarchy instead. gbuild has three parallel levels: * low -- Parallelizes compiling source files within a single project (.gpj) file when safe to do so. * medium -- Parallelizes processing files within a single linked output when safe to do so. * high [default] -- Parallelizes processing files whenever safe to do so, including linking task. Testing showed that for some combinations of gbuild / MULTI there are issues with building a project that uses references to target project files along with using {nobuild} option. Sometimes the archiving of a library and linking of an executable were happening in parallel and the build would fail when linking because the archive wasn't complete. This behavior was also inconsistent when running the build from MULTI and from the command line with gbuild. In some cases MULTI did not parallelize archiving and linking, but gbuild performed these actions in parallel. The parallel build issue was not seen when using a build hierarchy where the project listed the project files normally instead of using a reference link. The other option was to add the -parallel_level=medium to the command line when using "cmake --build" but this wouldn't fix the issue if gbuild itself was used to and the user might not be aware of the extra option used by cmake.
* GHS: Update project layout to build targets correctlyFred Baksik2019-04-115-156/+323
| | | | | | | | | | -- 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
* GHS: Support add_dependencies() commandFred Baksik2019-04-113-80/+102
| | | | -- use references to list target dependencies
* GHS: Support add_custom_target() commandFred Baksik2019-04-115-79/+184
| | | | -- add new project type that runs shell scripts in proper order
* GHS: Support add_custom_command( OUTPUT ) signatureFred Baksik2019-04-114-27/+219
| | | | | | | -- 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.
* GHS: Update custom command build eventsFred Baksik2019-04-102-41/+141
| | | | | | | | -- 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
* Merge topic 'autogen_autorcc_no_libuv'Brad King2019-04-0813-1031/+878
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Autogen: Rename cmQtAutoGeneratorRcc to cmQtAutoRccSebastian Holtermann2019-04-064-24/+24
| | | | | | | | | | The class name `cmQtAutoGeneratorRcc` is long and cumbersome. This shortens it to `cmQtAutoRcc`.
| * Autogen: Move libuv loop from cmQtAutoGenerator to cmQtAutoGeneratorMocUicSebastian Holtermann2019-04-064-27/+25
| | | | | | | | | | | | | | | | `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`.
| * Autogen: Make cmQtAutoGenerator::FileSystem Logger freeSebastian Holtermann2019-04-063-75/+33
| | | | | | | | | | | | | | | | | | | | | | | | `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.
| * Autogen: Move Logger and FileSystem member variables to generator classesSebastian Holtermann2019-04-065-37/+47
| | | | | | | | | | | | | | `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.
| * AutoRcc: Don't use cmQtAutoGenerator::FileSystem methodsSebastian Holtermann2019-04-064-97/+153
| | | | | | | | | | | | `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`.
| * AutoRcc: Remove libuv event loop from cmQtAutoGeneratorRccSebastian Holtermann2019-04-062-315/+158
| | | | | | | | | | | | 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.
| * AutoRcc: Make rcc parsing function privateSebastian Holtermann2019-04-062-31/+9
| | | | | | | | | | | | The `.qrc` parsing functions in `cmQtAutoGen` are no longer needed outside the private implementation of `cmQtAutoGen::RccLister`. This makes them private, too.
| * AutoRcc: Use cmQtAutoGen::RccLister in initializer and generatorSebastian Holtermann2019-04-063-144/+7
| | | | | | | | | | | | | | 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.
| * AutoRcc: Add cmQtAutoGen::RccLister classSebastian Holtermann2019-04-062-3/+144
| | | | | | | | | | | | 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.
* | Merge topic 'genex-output_name'Brad King2019-04-0830-11/+514
|\ \ | | | | | | | | | | | | | | | | | | | | | 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
| * | Genex: Add capability to retrieve base name for various target artifactsMarc Chevrier2019-04-0830-1/+483
| | | | | | | | | | | | This new capability is required to solve efficiently issue #18771
| * | Refactor struct TargetFileSystemArtifactMarc Chevrier2019-04-081-10/+31
| |/ | | | | | | | | Creates base class TargetArtifactBase which enable to share code with future new functionalities.
* | Merge topic 'ghs_os_dir'Brad King2019-04-085-66/+90
|\ \ | | | | | | | | | | | | | | | | | | | | | 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
| * | GHS: Update GHS_BSP_NAME processingFred Baksik2019-03-291-27/+24
| | | | | | | | | | | | | | | -- Set name earlier so that the initial project() compiler checks run correctly when GHS_BSP_NAME is not specified on command line.
| * | GHS: Print status message regarding GHS_OS_DIRFred Baksik2019-03-295-40/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | -- Rename platform script so it runs before initial try_compile() in project() command. -- Fix incorrect variable name GHS_OS_DIR_OPTION -- Remove unnecessary ".*" from REGEX expression for GHS_CANDIDATE_OS_DIRS -- Forward GHS_OS_DIR_OPTION to try_compile() and preserve trailing whitespace of the variable.
* | | Merge topic 'tidy-fixes'Brad King2019-04-082-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | c1d1027ac1 Enabled performance-inefficient-vector-operation check in clang-tidy Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3185
| * | | Enabled performance-inefficient-vector-operation check in clang-tidyJakub Kalinski2019-04-022-1/+1
| | | |
* | | | Merge topic 'modernize-raw-string-literal'Brad King2019-04-081-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0090907e86 tidy: Fix modernize-raw-string-literal in FreeBSD CPack generator Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3198
| * | | | tidy: Fix modernize-raw-string-literal in FreeBSD CPack generatorBrad King2019-04-051-1/+1
| | | | |
* | | | | CMake Nightly Date StampKitware Robot2019-04-081-1/+1
| | | | |
* | | | | CMake Nightly Date StampKitware Robot2019-04-071-1/+1
| |_|_|/ |/| | |
* | | | CMake Nightly Date StampKitware Robot2019-04-061-1/+1
| | | |
* | | | Merge topic 'rst-bad-markup-block'Brad King2019-04-054-1/+15
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | cmRST: Fix crash on empty markup blockBrad King2019-04-053-0/+14
| | | | |
| * | | | Help: Remove empty literal block markup in RESOURCE target propertyBrad King2019-04-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | This was added accidentally by commit 456e0fb64f (Help: Improve documentation formating, 2019-04-01).
* | | | | CMake Nightly Date StampKitware Robot2019-04-051-1/+1
| | | | |
* | | | | Merge topic 'if-EXISTS-doc'Brad King2019-04-041-1/+3
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | 78ac8cb04a Help: clarify if(EXISTS) operation for symlinks Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3189
| * | | | Help: clarify if(EXISTS) operation for symlinksShoaib Meenai2019-04-041-1/+3
| | | | | | | | | | | | | | | | | | | | if(EXISTS) resolves symlinks; note this explicitly in its documentation.
* | | | | Merge topic 'improve-documentation'Brad King2019-04-04134-343/+367
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 456e0fb64f Help: Improve documentation formating Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3174
| * | | | | Help: Improve documentation formatingBartosz Kosiorek2019-04-04134-343/+367
| | | | | |
* | | | | | Merge branch 'release-3.14'Brad King2019-04-040-0/+0
|\ \ \ \ \ \
| * \ \ \ \ \ Merge branch 'vs2019-redist' into release-3.14Brad King2019-04-042-10/+18
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !3186
| * \ \ \ \ \ \ Merge branch 'armcc-compiler-id' into release-3.14Brad King2019-04-041-1/+1
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !3187
* | \ \ \ \ \ \ \ Merge topic 'armcc-compiler-id'Brad King2019-04-041-1/+1
|\ \ \ \ \ \ \ \ \ | | |/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f28e7fc1a5 ARMCC: Do not identify ARMClang as ARMCC Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3187
| * | | | | | | | ARMCC: Do not identify ARMClang as ARMCCBrad King2019-04-031-1/+1
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 8f8d056051 (ARMCC: Fix identification of ARM compiler when it defines GNU macros, 2019-03-20, v3.14.1~10^2) we consider ARMCC before Clang or GNU compilers. Since armclang also defines `__ARMCC_VERSION` it is now mistaken for ARMCC. Extend the check for ARMCC to also verify that `__clang__` is not defined. Issue: #19065
* | | | | | | | Merge topic 'vs2019-redist'Brad King2019-04-042-10/+18
|\ \ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | | | IRSL: Fix discovery of VS 2019 v142 toolset redistributablesBrad King2019-04-041-9/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | | | MSVC: Fix MSVC_TOOLSET_VERSION for VS 2019 v142 toolsetBrad King2019-04-031-1/+4
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was forgotten in commit 626c51f47b (VS: Update for Visual Studio 2019 Preview 2, 2019-01-24, v3.14.0-rc1~74^2) when the toolset was first renumbered to `v142`. Issue: #19125
* | | | | | | Merge topic 'FindGLEW-lib-suffixes'Brad King2019-04-041-0/+5
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 14c7396fb9 FindGLEW: fix CMAKE_FIND_LIBRARY_SUFFIXES Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3179
| * | | | | | | FindGLEW: fix CMAKE_FIND_LIBRARY_SUFFIXESClaudio Fantacci2019-04-031-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FindGLEW temporarily changes the content of CMAKE_FIND_LIBRARY_SUFFIXES to look for static and dynamic GLEW library. However, it wasn't storing and restoring the initial content of such variable, causing possible issues in user project.
* | | | | | | | Merge topic 'FindBoost-clang-cl'Brad King2019-04-041-1/+7
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d48bf97fd3 FindBoost: Consider boost suffixes suitable for clang-cl Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3164