1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-06-24 05:03:26 +08:00

1155 Commits

Author SHA1 Message Date
Brad King
4de554b1a5 Merge topic 'docs-xcode-schemes'
d0cb912a28 Help: Remove note that Xcode scheme generator is experimental
de850fe385 Help: Trivial typo fix for CMAKE_XCODE_GENERATE_SCHEME
d61a5a20ef Help: Sort lists of (CMAKE_)XCODE_SCHEME_... variables and properties

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3066
2019-03-06 09:07:59 -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
3e9ce09a56 Merge topic 'ios-docs'
376138fe0c Help: CMAKE_MACOSX_BUNDLE is ON for iOS/tvOS/watchOS
f7d602b572 Help: Example of tweaking iOS/tvOS/watchOS build
4a9e2e4f35 Help: find_package with fat iOS libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3047
2019-03-06 08:28:13 -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
Craig Scott
d61a5a20ef Help: Sort lists of (CMAKE_)XCODE_SCHEME_... variables and properties 2019-03-07 00:04:55 +11:00
Ruslan Baratov
f7d602b572 Help: Example of tweaking iOS/tvOS/watchOS build
CMAKE_OSX_ARCHITECTURES and CMAKE_OSX_DEPLOYMENT_TARGET variables
can be used to tweak iOS/tvOS/watchOS build
2019-03-05 09:45:50 -05:00
Ruslan Baratov
4a9e2e4f35 Help: find_package with fat iOS libraries 2019-03-05 09:45:50 -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
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
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
3c7662fd62 Merge topic 'add-xlclang'
d9d285c5ad jsoncpp: Fix include order for build within CMake
0d489fab19 libuv: fix atomic ops compilation with xlclang
1699f5c231 Utilities: Suppress warnings in third-party code when using XLClang
f709089d84 XLClang: Extract compiler implicit include directories
5c41386357 XLClang: Add policy CMP0089 to present as XL for compatibility
8278237933 XL: Remove overlap with the new XLClang compiler ID
6f5cf2d2c6 XL: Revert "Recognize compilers identified by __ibmxl__"
90c6156aa8 XLClang: Add a new compiler ID for the clang-based XL compiler
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2921
2019-02-26 11:07:54 -05:00
Paul Seyfert
02ba5d57df Help: Fix --build-and-test synopsis in ctest(1)
The synopsis added by commit 9d3aa95ca4 (Help: Divide ctest(1) manual
options into sections, 2017-11-08, v3.11.0-rc1~359^2~2) is missing the
actual `--build-and-test` argument!  Add it now.
2019-02-26 07:37:29 -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
5c41386357 XLClang: Add policy CMP0089 to present as XL for compatibility
We now identify IBM's Clang-based XL compilers, which define
`__ibmxl__`, as `XLClang` rather than `XL`.  In order to support
existing project code that checks for `XL`, add a policy whose OLD
behavior is to present the compiler id as `XL` and whose NEW behavior is
to present the compiler id as `XLClang` as we really detect it.
2019-02-25 08:24:28 -05:00
Fred Baksik
bcd99fac60 GHS: Document usage of GHS_NO_SOURCE_GROUP_FILE
-- Also change variable name to CMAKE_GHS_NO_SOURCE_GROUP_FILE
2019-02-08 13:07:00 -05:00
Brad King
c03072f2f7 Merge topic '17870-iphone-friendly-cmake'
e8ee8cab97 Xcode: Completely disable code signing for compiler id detection
11da882a12 Apple: Introduce separate system name for iOS, tvOS, and watchOS
36cf44a7a3 Tests: Isolate RunCMake.XcodeProject per-device cases from host arch

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2392
2019-02-05 07:33:04 -05:00
Gregor Jasny
e8ee8cab97 Xcode: Completely disable code signing for compiler id detection
Issue: #17870
2019-02-04 09:03:35 -05:00
Gregor Jasny
11da882a12 Apple: Introduce separate system name for iOS, tvOS, and watchOS
- Remove code signing requirements for non-macOS
- Do not set deployment target for non-macOS
- Build static library for compiler feature detection for non-macOS
- Use framework to run CompilerId tests for watchOS
- Port tests to new SDK handling
- Add new Apple cross-compiling section to toolchain documentation

Closes: #17870
2019-02-04 09:03:35 -05:00
Brad King
9aef4a732b Merge topic 'variables1'
9d20fe014f Help: moved 7 variables to "internal" section
dfb2d6178e Help: "internal variables" instead of "obsolete", with some explanatory prose
9c4cdc43f6 Help: declare CMAKE_HOME_DIRECTORY obsolete

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2881
2019-01-31 11:11:28 -05:00
Harry Mallon
ec027aa64a Help: Add documentation for MSYS variable 2019-01-30 10:20:59 -05:00
Joachim Wuttke (o)
9d20fe014f Help: moved 7 variables to "internal" section 2019-01-30 16:13:13 +01:00
Joachim Wuttke (o)
dfb2d6178e Help: "internal variables" instead of "obsolete", with some explanatory prose 2019-01-30 16:13:10 +01:00
Joachim Wuttke (o)
9c4cdc43f6 Help: declare CMAKE_HOME_DIRECTORY obsolete 2019-01-30 13:04:56 +01:00
Brad King
9620cb935a Merge topic 'add_consistent_verbose_build_flag'
66801f4d40 cmake: Add tests for verbose output to --build mode
439fe2e253 cmake: Add options for verbose output to --build mode
638667efa2 cmake: cmcmd.cxx fix "The arguments are" comments
3ca4402966 ctest: Fix --build-and-test without --build-target on Xcode
cb6c233ecc cmake: Add -hideShellScriptEnvironment xcodebuild option
1a45266cb5 cmGlobalGenerator: Add a class that represent the build command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2708
2019-01-29 09:19:39 -05:00
Florian Maushart
439fe2e253 cmake: Add options for verbose output to --build mode
While we already support `VERBOSE` environment variable and
`CMAKE_VERBOSE_MAKEFILE` cached variable, add `-v` and `--verbose`
command line options to be able to activate verbose output directly from
CMake's build tool mode command line.

Also make `msbuild` honor the verbosity setting. `xcodebuild` still
doesn't honor the verbosity setting as it will need a policy added
and reworking of cmGlobalGenerator and cmsys to support
multiple command invocation.
2019-01-28 09:44:50 -05:00
Brad King
8e495333c0 Merge topic 'cmake-gui-s-b'
ad0853b3d4 QtDialog: Clean up and document -S and -B options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2863
2019-01-28 08:36:58 -05:00
Taylor Braun-Jones
a5098cad94 cmake: Add --ignore-eol option to -E compare_files command
Fixes: #13007
2019-01-28 08:24:50 -05:00
Kyle Edwards
ad0853b3d4 QtDialog: Clean up and document -S and -B options 2019-01-25 16:23:56 -05:00
Kyle Edwards
a6982cff0d cmMakefile: Impose maximum recursion limit
In order to keep infinitely-recursive scripts from causing a stack
overflow in the CMake executable, CMake now imposes a maximum
recursion limit before issuing an error message. The limit can be
adjusted at runtime with CMAKE_MAXIMUM_RECURSION_DEPTH.

Fixes: #18694
2019-01-23 09:52:29 -05:00
Brad King
177b5fb61b Merge topic 'fortran-compiler-id'
a080914274 Fortran: Add compiler ID/Version generator expressions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2804
2019-01-21 07:56:59 -05:00
Brad King
d1aa2e1109 Merge topic 'find-package-resolve-symlinks'
b773e58099 find_package: add test coverage for CMAKE_FIND_PACKAGE_RESOLVE_SYMLINKS
a5e948a36f find_package: optionally resolve symlinks when discovering packages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2798
2019-01-21 07:47:29 -05:00
Brad King
fefae527c8 Merge topic 'submit-url'
2915a75615 CTest: Add documentation and release notes for SubmitURL
d6475daa79 Modules/CTest: Set SubmitURL
938f06fda6 ctest_submit: Add parameter SUBMIT_URL
65e725c957 CTest: Add option SubmitURL
65f1fc9d63 CTest: Add function GetSubmitURL
2bedd5fb7c ctest_submit: Remove submit method from log output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2719
2019-01-21 07:46:20 -05:00
Andrew Paprocki
a080914274 Fortran: Add compiler ID/Version generator expressions
Adds `Fortran_COMPILER_ID` and `Fortran_COMPILER_VERSION` generator
expression support to match equivalent `C_COMPILER_ID`,
`CXX_COMPILER_ID`, `C_COMPILER_VERSION`, and `CXX_COMPILER_VERSION`
support.

This is very helpful in the case where the C/C++ compiler suite is a
different type of compiler from the platform Fortran compiler and
projects use generator expressions to assign compiler flags and
definitions.  (e.g. `GNU` C/C++ and `SunPro` Fortran on Linux)
2019-01-18 08:56:13 -05:00
Brad King
65a3abf999 Merge topic 'GHS_updates'
21ab58d3f8 GHS: Update test suite
72e0c115b7 GHS: Add Compiler ID detection
436cc5e991 GHS: try_compile() now uses GHS platform variables
4a1ec0de3d GHS: Fix toolset selection
1a66acdef2 GHS: Append ".gpj" to target name when generating build command
0c9e47d7cd GHS: Integrity Application updates
8044318431 GHS: Add support for some of the source file properties
73092b2213 GHS: Add support for object libraries
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2231
2019-01-18 06:58:35 -05:00
Brad King
2e7d4029f4 Merge topic 'remove-duplicate-link'
00c7e006a5 Help: Remove duplicate reference to IMPORTED_LINK_DEPENDENT_LIBRARIES_<CONFIG>

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2818
2019-01-18 06:55:52 -05:00
Brad King
68e20f674a Merge topic 'cmake_role-global-property'
4568d046c4 Properties: Add CMAKE_ROLE global property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2805
2019-01-17 11:43:09 -05:00
Kyle Edwards
00c7e006a5 Help: Remove duplicate reference to IMPORTED_LINK_DEPENDENT_LIBRARIES_<CONFIG> 2019-01-17 10:21:25 -05:00
Kyle Edwards
4568d046c4 Properties: Add CMAKE_ROLE global property
This property allows scripts to determine whether they're in project
mode, script mode, find-package mode, CTest, or CPack.
2019-01-17 09:44:29 -05:00
Craig Scott
9e84e14db7 Merge topic 'qt_wrap_command_deprecations'
74dc68b406 qt_wrap_*: Add deprecation notes to command docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Brad King <brad.king@kitware.com>
Merge-request: !2738
2019-01-16 15:20:59 -05:00
Fred Baksik
0c9e47d7cd GHS: Integrity Application updates
-- Check the property "ghs_integrity_app" on executables to set [INTEGRITY Application]
   If the property is not set then check if an integrate file is one of the source files (.int file).
   Dynamic Downloads that do not have an integrate file can use this property along with setting
   the compiler flag "-dynamic".

-- Remove parsing for -dynamic flag; it is only used to print a comment
   The MULTI GUI will show if it is a Monolith or Dynamic Download application

-- Use project references to specify which executables are part of the Integrity Application
   Usually Implicit Dependency Analysis will ensure that executable targets
   become part of the application.  This does not work for Dynamic Download without integrate files.
   Use `add_dependencies(dd vas)` to mark that the vas target is part of dd target.

-- Update file locations in the Integrate files.
2019-01-16 10:41:49 -05:00
Fred Baksik
702121c5f3 GHS: Use the correct compiler flags for CMAKE_BUILD_TYPE
-- Do not use CMAKE_C_FLAGS_RELEASE flags when CMAKE_BUILD_TYPE is empty
   if CMAKE_BUILD_TYPE was not set the generator would use Release settings
   this does not match the documented behavior of CMAKE_BUILD_TYPE

-- CMAKE_C_FLAGS_<CONFIG> not used when -kernel is present
   Fixes issue where CMAKE_C_FLAGS_<CONFIG> is ignored when -kernel option is present as a compiler option
   When the -kernel option is added to an executable it uses a different set of language flags
   This does not occur -kernel=<type> is used or if it is added as part of a link flag
   The variables CMAKE_<LANG>_GHS_KERNEL_FLAGS_<CONFIG> are removed
   NOTE: By default this only added the flag -ldebug which links in the debugger library.

-- Separate compiler options by newlines
2019-01-16 10:41:35 -05:00
Regina Pfeifer
2915a75615 CTest: Add documentation and release notes for SubmitURL 2019-01-16 10:34:08 -05:00
David Aguilar
a5e948a36f find_package: optionally resolve symlinks when discovering packages
Teach find_package() to resolve symlinks when constructing
relocatable prefix paths from discovered cmake config files.
The `CMAKE_FIND_PACKAGE_RESOLVE_SYMLINKS` variable enables
this behavior when set to `TRUE`.

Fixes: #18704
2019-01-16 09:59:46 -05:00
Tobias Hunger
74dc68b406 qt_wrap_*: Add deprecation notes to command docs
Co-authored-by: Craig Scott <craig.scott@crascit.com>
2019-01-16 08:08:38 +11:00
Brad King
41b0c0dc73 Merge topic 'vs2019'
57e48f16f2 VS: Add Visual Studio 16 2019 generator
bdef729646 VS: Parameterize VS 2017 generator to support future versions
68d316e0cf VS: Rename VS 2017 generator sources to be version-independent
d8ed309d05 VS: Parameterize cmVSSetupAPIHelper instances with VS version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2789
2019-01-15 13:23:38 -05:00
Brad King
1d328d8119 Merge topic 'extendwhitelist'
59c408d053 cmTargetPropertyComputer: whitelist 'MANUALLY_ADDED_DEPENDENCIES'.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2808
2019-01-15 13:18:54 -05:00
Brad King
bf1a1caefe Merge topic 'check-fortran-run'
10a1477b63 CheckFortranSourceRuns: Add module to check if Fortran code runs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2714
2019-01-15 13:15:44 -05:00