Commit Graph
47352 Commits
Author SHA1 Message Date
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
Brad King 5e98111643 CMake 3.14.2 v3.14.2 2019-04-12 08:02:19 -04:00
Brad King 4ff7706f2d Merge topic 'cpack-cleanup'
67645c132b cpack: Remove unused file with old development notes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3215
2019-04-12 07:59:55 -04:00
Brad King f70367e4ed Merge topic 'cmSystemTools-StringToULong-negatives'
f0948499f6 cmSystemTools: Fix StringToULong to reject negative numbers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3216
2019-04-12 07:58:52 -04:00
Brad King d798d2f7c5 Merge topic 'argument-parser-warning'
aeddf63587 cmArgumentParser: Fix -Wcomma warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3214
2019-04-12 07:58:01 -04:00
Brad King 90c616b936 Merge branch 'release-3.14' 2019-04-12 07:45:35 -04:00
Brad King a5932438cd Merge topic 'fix-overlay-icon-windows'
12ef832c96 cmake-gui: Fix icon overlay on windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3217
2019-04-12 07:29:20 -04:00
Brad King 680641a882 Merge topic 'xcode-extra-sources'
428c1e429f Xcode: Avoid mutating App Bundle targets during generation
b4385d5ccc Xcode: Factor out duplicate source group code into lambda

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3208
2019-04-12 07:23:31 -04:00
Stefan Andersson ea83d0f8fb IAR: Generalize and add support for IAR RX compiler
Moved common ASM setup to the common macros and changed version check.
2019-04-12 09:10:02 +02:00
Kitware Robot 1601b47b3e CMake Nightly Date Stamp 2019-04-12 00:01:09 -04:00
Brad King 6a39d3df54 Merge branch 'fix-overlay-icon-windows' into release-3.14
Merge-request: !3217
2019-04-11 14:04:54 -04:00
Julien Jomier 12ef832c96 cmake-gui: Fix icon overlay on windows
Since commit 9175a378f5 (QtDialog: Add windows taskbar progress,
2018-11-17, v3.14.0-rc1~330^2) we've added a missing overlay icon.
This results in Windows falling back to a default overlay icon.
Simply drop this line.

Fixes: #19160
2019-04-11 14:03:29 -04:00
Fred Baksik 2bae6a1346 GHS: Update tests and notes
-- add new tests for custom commands
-- minor test cleanup

Fixes #15995
Fixes #18909
Fixes #15902
2019-04-11 13:15:51 -04:00
Fred Baksik 3b415c60c1 GHS: Update ExternalProject for GHS tools
-- 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.
2019-04-11 13:15:51 -04:00
Fred Baksik 83c47ef5b8 GHS: Update project layout to accommodate gbuild inconsistencies
-- 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.
2019-04-11 13:15:51 -04:00
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
Brad King f0948499f6 cmSystemTools: Fix StringToULong to reject negative numbers
Fixes: #19161
2019-04-11 12:56:32 -04:00
Robert Maynard 239a8a0266 CompileFeatures: Record when CXX compilers have gained full support for 98
Use the infrastructure added by commit 646fb1a646 (CompileFeatures:
memoize C++ compilers with full language level support, 2019-03-27) to
avoid using a `try_compile` to check for C++98 feature support when the
running compiler is known to have all features.
2019-04-11 11:20:48 -04:00
Avraham Shukron a40f9083dd INTERFACE Target: allow (PUBLIC/PRIVATE)_HEADER properties
Also support installing headers on an INTERFACE library.

Signed-off-by: Avraham Shukron <avraham.shukron@gmail.com>
Fixes: #15234
2019-04-11 11:09:42 -04:00
Brad King 67645c132b cpack: Remove unused file with old development notes 2019-04-11 10:56:05 -04:00
Brad King aeddf63587 cmArgumentParser: Fix -Wcomma warning
Clang `-Wcomma` warns:

```
Source/cmArgumentParser.cxx:58:42: warning: possible misuse of comma operator
  this->CurrentList = (val.emplace_back(), &val.back());
                                         ^
```

This was introduced by commit 4359fe133b (Introduce cmArgumentParser,
2019-03-23).  Suppress it with the suggested cast.
2019-04-11 10:44:38 -04:00
Brad King 7bad2464fc Merge branch 'xcode-extra-sources' into release-3.14
Merge-request: !3208
2019-04-11 10:35:49 -04:00
Brad King 428c1e429f Xcode: Avoid mutating App Bundle targets during generation
For `MACOSX_BUNDLE` targets we generate an `Info.plist` automatically
and add it to the sources presented to Xcode.  Avoid mutating the
original target's list of sources to achieve this.  Otherwise when we
generate the same target again (e.g. in a sub-project's Xcode file) it
will look different than the first time and possibly break invariants.

Fixes: #19114
2019-04-11 10:35:14 -04:00
Brad King b4385d5ccc Xcode: Factor out duplicate source group code into lambda 2019-04-11 10:35:14 -04:00
Brad King a550e2d6e4 Merge topic 'test-autogen-GAT-generator'
06dab0f0e5 Tests: Fix Qt*Autogen.GlobalAutogenTarget to use matching generator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3210
2019-04-11 10:13:47 -04:00
Brad King 5ae15061c3 Merge topic 'test-explicit-dirs'
39e7fd8c68 Tests: Avoid enabling languages in RunCMake.CommandLine -S and -B cases
baed22c4b0 Tests: Fix RunCMake.CommandLine test to use generator with -S and -B
44d6370db3 Tests: Add RunCMake helper to run cmake with options
538721939f Tests: Teach RunCMake to optionally exclude the source dir argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3209
2019-04-11 10:12:32 -04:00
Kitware Robot be101e909e CMake Nightly Date Stamp 2019-04-11 00:01:09 -04:00
Marc Chevrier b70bac647d Genex: add $<TARGET_FILE_PREFIX:...> and $<TARGET_FILE_SUFFIX:...>
These capabilities complement MR !3190
and is also needed to solve issue #18771.
2019-04-10 23:45:12 +02:00
Brad King f621e7fa5d VS: Fix Fortran runtime library flag map special case for '-' options 2019-04-10 13:40:25 -04:00
Marc Chevrier f65763fe9b Refactor: Add new methods to retrieve prefix and suffix 2019-04-10 18:37:03 +02: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 06dab0f0e5 Tests: Fix Qt*Autogen.GlobalAutogenTarget to use matching generator
Build the GAT project with the same generator as the rest of the test.
This was accidentally left out of commit 8c8731b422 (Autogen: Add test
for CMAKE_GLOBAL_AUTOGEN/RCC_TARGET, 2018-11-11, v3.14.0-rc1~396^2~2).
2019-04-10 10:01:19 -04:00
Brad King 39e7fd8c68 Tests: Avoid enabling languages in RunCMake.CommandLine -S and -B cases
The test project does not compile any sources and so does not
need to enable any languages.
2019-04-10 09:40:48 -04:00
Brad King baed22c4b0 Tests: Fix RunCMake.CommandLine test to use generator with -S and -B
The `-S` and `-B` command-line option tests do generate build systems
and so should use the generator being tested.
2019-04-10 09:40:48 -04:00
Brad King 44d6370db3 Tests: Add RunCMake helper to run cmake with options 2019-04-10 09:40:48 -04:00
Brad King 538721939f Tests: Teach RunCMake to optionally exclude the source dir argument 2019-04-10 09:40:48 -04:00
Brad King 876680e94b Merge topic 'meta-feature_only_infer_granular_support'
613ac56e50 Add a test to verify meta-feature parity with granular features
b0f46c48f6 CompileFeatures: Now able to presume full language level support
646fb1a646 CompileFeatures: memoize C++ compilers with full language level support
0d641fcfad Tests: Remove outdated portion of CompileFeatures genex test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3176
2019-04-10 08:49:21 -04:00
Kitware Robot 784c35b444 CMake Nightly Date Stamp 2019-04-10 00:01:10 -04:00
Craig Scott 6aef0aa5fe Merge branch 'release-3.14' 2019-04-10 07:57:12 +10:00
Craig Scott 0a29875313 Merge topic 'fix-submit-url'
b8cb63457e Modules/CTest: Fix SubmitURL

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3206
2019-04-09 17:55:34 -04:00
Craig Scott 127d0ea2a6 Merge branch 'fix-submit-url' into release-3.14
Merge-request: !3206
2019-04-10 07:54:29 +10:00
Regina Pfeifer b8cb63457e Modules/CTest: Fix SubmitURL
Problem appeared in d6475daa79 (Modules/CTest: Set SubmitURL, 2018-12-08).

Fixes: #19099
2019-04-10 07:43:20 +10:00
Robert Maynard 613ac56e50 Add a test to verify meta-feature parity with granular features 2019-04-09 08:44:56 -04:00
Robert Maynard b0f46c48f6 CompileFeatures: Now able to presume full language level support
Previously compilers that only supported the meta-level flags
would not have any of the granular features listed. Now we
presume that they have full support and enable all the features.

Update granular feature tests to skip the actual compilation
checks for the presumed features.
2019-04-09 08:44:56 -04:00