Commit Graph

1642 Commits

Author SHA1 Message Date
Brad King
a000ec7a08 Merge topic 'add_xl_cxx14_support'
458ea9d76c XL: Add C++14 language level flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3235
2019-04-18 11:03:12 -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
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
Leonid Pospelov
d145d72e70 VS: add target property VS_PROJECT_IMPORT_<propspath>
Fixes: #18998
2019-04-15 13:05:07 -04:00
Robert Maynard
458ea9d76c XL: Add C++14 language level flags 2019-04-15 12:38:03 -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
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
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
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
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
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
a289d79517 Merge topic 'improve-formatting-of-help'
cb33befe2d Modules: Update documentation formatting
0e4fbb4a1f Help: Improve formatting of Help documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !3199
2019-04-09 08:30:15 -04:00
Sebastian Lipponer
698f51abac Genex: Add $<FILTER:list,INCLUDE|EXCLUDE,regex> 2019-04-08 19:57:22 +02:00
Sebastian Lipponer
68b307caae Help: Add missing release notes for genex $<REMOVE_DUPLICATES:list> 2019-04-08 19:19:29 +02:00
Bartosz Kosiorek
0e4fbb4a1f Help: Improve formatting of Help documentation 2019-04-08 14:53:31 +02: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
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
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
Marc Chevrier
8a2f62cc18 FindPython*: Add capability to control virtual env handling.
Fixes: #19097
2019-04-03 09:16:17 +02:00
Ruslan Baratov
0761186949 project: Add variable CMAKE_PROJECT_INCLUDE_BEFORE 2019-04-01 20:30:19 +03:00
Brad King
3e129d71bc Merge topic 'project-include'
7d19b3091d Release note for CMAKE_PROJECT_INCLUDE variable
dda0190458 project: Add variable CMAKE_PROJECT_INCLUDE
390f14a244 Test ProjectInclude: Add NONE to avoid enabling languages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3155
2019-04-01 10:49:02 -04:00
Brad King
922480e6f1 Merge topic 'allow_aliasing_unkown_targets'
6d5872a396 add_library: Now support aliasing unknown import targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3148
2019-04-01 10:31:11 -04:00
Ruslan Baratov
7d19b3091d Release note for CMAKE_PROJECT_INCLUDE variable 2019-03-29 18:53:12 +03:00
Brad King
c03ee3ca71 Merge topic 'FindFontconfig-var-case'
a3a1e69f8a FindFontconfig: Convert module variables to camel case

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3153
2019-03-27 14:11:08 -04:00
Robert Maynard
6d5872a396 add_library: Now support aliasing unknown import targets
Fixes #18327
2019-03-26 15:54:48 -04:00
Brad King
a3a1e69f8a FindFontconfig: Convert module variables to camel case
Our documented standard for find module variable names is to match the
case of the find module package name.  This was overlooked when the
module was added by commit 84e7920b3a (FindFontconfig: Add module to
find Fontconfig, 2018-09-27, v3.14.0-rc1~523^2).

The module was released with the upper case names in CMake 3.14.0, so
fix it to have camel case names in 3.14.1.  This is incompatible but
anyone using a given release series should be using the latest patch on
it and we've made breaking fixups on newly released features like this
before.

Reported-by: Christophe Giboudeaux <christophe@krop.fr>
Fixes: #19094
2019-03-26 14:14:09 -04:00
Zack Galbreath
ba7e44eb7a ctest_submit: Add option BUILD_ID
Fixes: #18968
2019-03-22 09:37:08 -04:00
Brad King
89abbdd8c8 Merge topic 'ghs-linux'
2c43fb5be3 FindThreads: Fix pthread library check in GHS Multi Generator
0404efe786 GHS: Add support for GHS Multi Generator in Linux
2060a1445c Tests: Fix file name case in GHS object library test
ddad70c8a4 Tests: Run GHS tests in a separate ctest process
f7dca1fc97 GHS: Fix include-what-you-use and clang-tidy diagnostics

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3006
2019-03-22 09:22:44 -04:00
Brad King
3744bd0a0a Merge topic 'xcodescheme2'
413b71485a Xcode: Create Xcode schemes per target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3098
2019-03-22 09:16:02 -04:00
Naren Manimohan
0404efe786 GHS: Add support for GHS Multi Generator in Linux 2019-03-21 12:57:40 -04:00
Harry Mallon
413b71485a Xcode: Create Xcode schemes per target 2019-03-21 16:50:41 +00:00
Bartosz Kosiorek
ea9a2c1759 cmake: tar: Parse 'cmake -E tar' arguments 2019-03-20 09:28:49 -04:00
Kyle Edwards
8c0b7aa17d Merge topic 'cmake--install'
73f23d1e00 cmake: add '--install <dir>' option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Acked-by: Bartosz <gang65@poczta.onet.pl>
Acked-by: Cristian Adam <cristian.adam@gmail.com>
Rejected-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !3069
2019-03-19 13:39:18 -04:00
Kyle Edwards
f1e53266e9 Merge topic 'improve-tar-command'
8634576dcb cmake: Don't interrupt archive creation if unable to read a file.
c7c6a4a2cc Help: Update 'tar' documentation with supported arguments
7c47fd8cd1 cmake: tar: Display warning when no files provided during archive creation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3080
2019-03-19 13:37:59 -04:00
Brad King
146b959491 Merge topic 'environment-modules'
dfea916d3c FindEnvModules: Provide a CMake interface to environment modules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3076
2019-03-19 08:53:35 -04:00
Bartosz Kosiorek
8634576dcb cmake: Don't interrupt archive creation if unable to read a file.
Rationale:
Currently during creation of archive by 'tar',
if error appears, it interrupt archive creation.
As a result only part of files are archived

This behaviour is not consistent with 'copy_directory', native 'tar'
and other command behaviour.
With this Merge Request this behaviour is fixed.
2019-03-18 17:55:35 +01:00
Chuck Atkins
dfea916d3c FindEnvModules: Provide a CMake interface to environment modules 2019-03-18 11:47:35 -04:00
Brad King
23874e4078 Merge topic 'FindGLEW-updates'
a77a30e657 FindGLEW: Add test
a7d853868b FindGLEW: Update implementation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3094
2019-03-18 11:26:49 -04:00
Brad King
4480769f8b Merge topic 'release_note_for_cuda_compiler_generator_expressions'
380b2dae55 Add a release note for the cuda compiler generator expressions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3109
2019-03-18 11:25:22 -04:00
Jiang Yi
73f23d1e00 cmake: add '--install <dir>' option
Fixes: #19023
2019-03-17 01:31:25 +08:00
Marc Chevrier
0bd2e3aa57 Merge topic 'pkg-config-linker-flags'
b759fa9b8e FindPkgConfig: Set linker flags on imported targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3082
2019-03-16 06:14:00 -04:00
Claudio Fantacci
a7d853868b FindGLEW: Update implementation
Replicate behaviour of upstream GLEW.

* define the imported target GLEW::glew for the shared library GLEW

* if GLEW_USE_STATIC_LIBS is defined and set to TRUE, this module instead
  defines the imported target GLEW::glew_s for the static library GLEW

* an imported target GLEW::GLEW is created as a copy of either GLEW::glew
  or GLEW::glew_s

* by setting GLEW_VERBOSE you print out the log of the module.

Fixes: #17638, #17864, #18989
2019-03-15 11:22:29 -04:00
Robert Maynard
380b2dae55 Add a release note for the cuda compiler generator expressions 2019-03-15 11:04:25 -04:00
Brad King
3261f23870 Merge topic 'export-package-default-off'
9bede5c4ce export: Disable PACKAGE mode user package registry by default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Lukas Mosimann <lumosimann@gmail.com>
Merge-request: !3041
2019-03-15 10:45:51 -04:00
Robert Maynard
9bede5c4ce export: Disable PACKAGE mode user package registry by default
The user package registry populated by the `export()` command causes
side effects outside the build and source directories.  Such effects
should be opt-in rather than op-out.  Introduce a policy to change
default behavior of `export(PACKAGE)` to do nothing.
2019-03-15 10:24:47 -04:00