Commit Graph

6275 Commits

Author SHA1 Message Date
Harry Mallon 413b71485a Xcode: Create Xcode schemes per target 2019-03-21 16:50:41 +00:00
Brad King 3c4f92cf5b Merge topic 'is-valid-utf8'
53184a727d cm_utf8: add an is_valid function

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3104
2019-03-19 08:58:39 -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
Ben Boeckel 53184a727d cm_utf8: add an is_valid function 2019-03-18 14:18:13 -04:00
Chuck Atkins dfea916d3c FindEnvModules: Provide a CMake interface to environment modules 2019-03-18 11:47:35 -04:00
Brad King 875f49cc58 Merge topic 'utf8-fixes'
fb5de060bc cm_utf8: reject codepoints above 0x10FFFF
a11e5e021b cm_utf8: reject UTF-16 surrogate half codepoints
7111873efd testUTF8: add more test cases
bba2b1c89b testUTF8: comment why sequences are invalid

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3097
2019-03-18 11:28:52 -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
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 a77a30e657 FindGLEW: Add test 2019-03-15 11:22:32 -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
Ben Boeckel fb5de060bc cm_utf8: reject codepoints above 0x10FFFF
These are invalid because the Unicode standard says so (because UTF-16
as specified today cannot encode them).
2019-03-14 13:26:21 -04:00
Ben Boeckel a11e5e021b cm_utf8: reject UTF-16 surrogate half codepoints 2019-03-14 13:25:24 -04:00
Ben Boeckel 7111873efd testUTF8: add more test cases 2019-03-14 13:24:38 -04:00
Ben Boeckel bba2b1c89b testUTF8: comment why sequences are invalid 2019-03-14 13:21:50 -04:00
Brad King 28ae243ca6 Tests: Run FindGTK2 tests only when explicitly enabled
Do not `find_package(GTK2)` by default, as it gives the impression that
CMake depends on it to build.  We will set `CMake_TEST_FindGTK2` in the
cache of automated builds where GTK2 is expected to work.
2019-03-14 11:17:10 -04:00
Brad King accbf41da5 Merge topic 'short-commands'
077ab5774c cmake: add short version of '--target <tgt>...' option
071f5e1544 cmake: Reformat '--parallel' and '--verbose' options in help

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3078
2019-03-14 11:06:19 -04:00
Radek Nadstawny b759fa9b8e FindPkgConfig: Set linker flags on imported targets 2019-03-13 23:42:44 +01:00
Brad King 7b81b1c72c Merge topic 'cuda_compiler_generator_expressions'
b53766b205 CUDA: Support compiler id and version generator expressions
b544e34af6 All VersionNode use the same capitalization pattern

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3085
2019-03-13 10:16:25 -04:00
Brad King 5822a7bed2 Merge topic 'shell_path'
463c2fba4e Genex: Teach SHELL_PATH to support a list of paths
21da25d2a8 Tests: Generalize GeneratorExpression MSYS path conversion workaround

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3057
2019-03-12 09:53:27 -04:00
Bartosz Kosiorek 077ab5774c cmake: add short version of '--target <tgt>...' option 2019-03-12 12:00:09 +01:00
Robert Maynard b53766b205 CUDA: Support compiler id and version generator expressions
Introduce the CUDA_COMPILER_ID and CUDA_COMPILER_VERSION generator
expressions.
2019-03-11 12:33:43 -04:00
Henri Manson 463c2fba4e Genex: Teach SHELL_PATH to support a list of paths
Extend the genex added by commit ca6ba3fee5 (Genex: Add a SHELL_PATH
expression, 2015-09-24, v3.4.0-rc1~37^2) to accept a `;`-list of paths,
convert them all, and generate a list separated by the native shell
`PATH``` separator.
2019-03-11 11:39:25 -04:00
Brad King 21da25d2a8 Tests: Generalize GeneratorExpression MSYS path conversion workaround
Use MSYS2's `MSYS2_ARG_CONV_EXCL` environment variable to prevent
path conversion where possible.
2019-03-11 11:37:52 -04:00
Brad King c2a3a945a5 Merge topic 'install-no-imported-global'
47389c5641 install: Do not crash on imported global target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3071
2019-03-08 07:32:48 -05:00
Brad King 47389c5641 install: Do not crash on imported global target
Since commit e89ad0f94e (install: Allow installing targets created in
another directory, 2018-06-18, v3.13.0-rc1~407^2) the `install(TARGETS)`
command may find a global-scoped target outside the calling directory.
Ignore an `IMPORTED GLOBAL` target if it is found in this way.  Imported
targets cannot be installed, and trying to do so violates internal
invariants.

Fixes: #19022
2019-03-07 09:00:56 -05:00
Brad King 809890e3f6 Merge topic 'issue-18883-support-for-multiple-targets'
324d18bb34 cmake: Teach --build mode to support multiple targets
ebc94500c1 cmGlobalGenerator: Optimize Printable() method from GeneratedMakeCommand
fdeb364a84 cmGlobalGenerator: Change case of methods from GeneratedMakeCommand struct
b3955a08ab cmakemain: Remove ignored --use-stderr option from command line help
f1367c8c51 cmGlobalGenerator: Remove unused code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2939
2019-03-06 08:32:39 -05:00
Brad King 742339a779 Merge topic 'ios-variable'
e427c7c1d8 iOS: Add IOS variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3051
2019-03-06 08:27:20 -05:00
Ruslan Baratov e427c7c1d8 iOS: Add IOS variable
Since commit 11da882a12 (Apple: Introduce separate system name for iOS,
tvOS, and watchOS, 2018-01-15, v3.14.0-rc1~14^2~1) we support setting
`CMAKE_SYSTEM_NAME` to `iOS`.  Existing iOS toolchain files already
set `IOS` as a short-hand variable, so do the same here.
2019-03-05 09:42:41 -05:00
Bartosz Kosiorek 324d18bb34 cmake: Teach --build mode to support multiple targets
Fixes: #16136
2019-03-05 08:55:28 -05:00
Brad King 70d204410a Merge topic 'FindPython-NumPy-fix-include-dir'
8e3358336d FindPython: Fix NumPy component include directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3053
2019-03-04 08:36:29 -05:00
Brad King dbd3b1ac90 Merge topic 'vs-fortran-rc'
0b82f56ac6 VS: Fix Fortran target type selection with RC sources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3050
2019-03-04 08:35:46 -05:00
Marc Chevrier 8e3358336d FindPython: Fix NumPy component include directory
Update the component added by commit 513e77550d (FindPython: Introduce
NumPy component, 2018-12-12, v3.14.0-rc1~95^2).  The `numpy/`
sub-directory should not be part of the include directory.  It should be
part of the `#include` line.
2019-03-04 08:28:21 -05:00
Brad King 0b82f56ac6 VS: Fix Fortran target type selection with RC sources
The Intel Fortran `.vfproj` files do support both Fortran and the
Windows Resource compiler (`.rc)` files.  Prior to CMake 3.9 we did not
support that, but commit 2c9f35789d (VS: Decide project type by linker
lang as fallback, 2017-03-30, v3.9.0-rc1~340^2) accidentally enabled it.
It was then broken by commit d3d2c3cd49 (VS: Fix Fortran target type
selection when linking C++ targets, 2019-02-04, v3.14.0-rc1~13^2).

Restore support for Fortran+RC in VS projects and add a test case.

Fixes: #19002
2019-03-01 11:58:21 -05:00
Brad King bfd71fc05c Merge topic 'features-from-default-standard'
c7213ca870 Features: Do not use a lower-than-default standard for requested features

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3023
2019-02-28 11:41:43 -05:00
Kyle Edwards 258298f597 Help: Clarify ordering of list(REMOVE_DUPLICATES)
This also adds a test to enforce the order behavior of
list(REMOVE_DUPLICATES).
2019-02-27 11:22:57 -05:00
Brad King 557d4b5882 Merge topic 'cmake_role-vs-fix'
e795be115e Merge branch 'master' into cmake_role-vs-fix
4b95e7fe63 CMAKE_ROLE: Fix value in --build for Visual Studio generators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3028
2019-02-27 08:09:42 -05:00
Brad King f369d59cdd Merge branch 'cmake_role-vs-fix' into release-3.14
Merge-request: !3028
2019-02-27 08:05:55 -05:00
Brad King e994e1f9cd Merge branch 'FindOctave-remove' into release-3.14
Merge-request: !3027
2019-02-27 07:57:03 -05:00
Brad King ec033b5b80 Merge topic 'FindOctave-remove'
7a1f3fe041 FindOctave: Remove module pending further work

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3027
2019-02-27 07:57:01 -05:00
Brad King 4570b5ae91 Merge branch 'restore-min-cmake-3.1' into release-3.14
Merge-request: !3021
2019-02-27 07:54:49 -05:00
Brad King 2645839a83 Merge topic 'restore-min-cmake-3.1'
a0d4430d66 Tests: Restore support for CMake 3.1 through 3.6 with MSVC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3021
2019-02-27 07:54:25 -05:00
Kyle Edwards e795be115e Merge branch 'master' into cmake_role-vs-fix 2019-02-26 17:28:04 -05:00
Kyle Edwards 4b95e7fe63 CMAKE_ROLE: Fix value in --build for Visual Studio generators
Fixes: #18990
2019-02-26 14:52:17 -05:00
Zsolt Parragi c7213ca870 Features: Do not use a lower-than-default standard for requested features
`AddRequiredTargetC(xx)` feature didn't take the default compiler
standard into account, which possibly resulted in the use of an older
standard when some features requested it.

Fixes: #18686
2019-02-26 14:35:55 -05:00
Brad King 7a1f3fe041 FindOctave: Remove module pending further work
The `FindOctave` module added by commit 170bcb6fdc (FindOctave: Add
module to find GNU octave, 2018-11-17, v3.14.0-rc1~283^2) has a few
problems in its implementation that need to be worked out before the
module can be included in a CMake release.  These were missed during
review.  Remove the module for now.  It can be restored later with a
fresh review.

Issue: #18991
2019-02-26 14:12:34 -05:00
Brad King 2621efac19 Merge topic 'vs-wince-no-deploy'
917c035ada VS: support suppressing deployment of selected targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2991
2019-02-26 11:10:08 -05:00
Brad King a0d4430d66 Tests: Restore support for CMake 3.1 through 3.6 with MSVC
The change in commit a5dd159990 (Tests: Fix RunCMake.try_compile
CxxStandard case on MSVC, 2017-09-22, v3.10.0-rc1~63^2) introduced use
of `if()` conditions not supported until CMake 3.7, so while it was
intended to restore support for CMake versions prior to 3.9, it actually
only did so for 3.7 and 3.8.  Backport the logic to work with CMake 3.1.

Fixes: #18987
2019-02-26 07:35:24 -05:00
Wil Stark 917c035ada VS: support suppressing deployment of selected targets
Add a `VS_NO_SOLUTION_DEPLOY` target property to explicitly specify for
each target whether to suppress VS solution deployment of the generated
target project.

Fixes: #18953
2019-02-25 09:14:15 -05:00
Brad King f709089d84 XLClang: Extract compiler implicit include directories 2019-02-25 08:24:28 -05:00