Commit Graph

2086 Commits

Author SHA1 Message Date
Daniel Pfeifer
d0b70e676e Help/dev: Document CM_EQ_DELETE and CM_DISABLE_COPY 2017-04-25 22:08:47 +02:00
Brad King
dc6632b9da Merge topic 'remove-xcode-2'
7373b389 Xcode: Drop support for Xcode versions below 3
eaf53849 Xcode: Compute version number earlier

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Gregor Jasny <gjasny@googlemail.com>
Merge-request: !737
2017-04-24 09:40:44 -04:00
Brad King
096c3bacea Merge topic 'vs8-deprecate'
81f9c9e8 Deprecate Visual Studio 8 2005 generator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !739
2017-04-24 09:36:10 -04:00
Brad King
305e628284 Merge topic 'loosen-object-deps'
d96e5d9a Tests: use BYPRODUCTS in the CustomCommandWorkingDirectory test
664591ce RunCMake.Ninja: add a test for assumed sources
adf60b28 ninja: break unnecessary target dependencies
01c5bb95 RunCMake.Ninja: support passing arguments when running ninja
7f947b60 ninja: remove duplicate order-only dependencies
e9827eba ninja: describe the intermediate order depends target better
b57b7d8e Ninja: Order Fortran dyndep file generation explicitly

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !430
2017-04-24 09:31:49 -04:00
Brad King
7373b389eb Xcode: Drop support for Xcode versions below 3 2017-04-22 15:19:11 -04:00
Brad King
81f9c9e892 Deprecate Visual Studio 8 2005 generator
Update documentation to mark the generator deprecated.  Add a warning at
the end of generation plus an option to turn off the warning.
2017-04-21 13:45:45 -04:00
Brad King
1d8f0f9181 Merge topic 'enable_ptx_compilation'
23691d78 CUDA: Allow sources to be compiled to .ptx files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !725
2017-04-21 08:57:59 -04:00
Ben Boeckel
d96e5d9a19 Tests: use BYPRODUCTS in the CustomCommandWorkingDirectory test
This was inadvertently testing the assumed sources behavior in Ninja (no
other test seems to exercise it). There is now a test explicitly testing
it in `RunCMake.Ninja`, so fix this test to work properly regardless of
the assumed sources behavior.
2017-04-21 08:57:40 -04:00
Robert Maynard
23691d789e CUDA: Allow sources to be compiled to .ptx files
When the target property `CUDA_PTX_COMPILATION` is enabled CUDA OBJECT
libraries will generate ptx files instead of object files.
2017-04-20 13:25:38 -04:00
Brad King
24b04b5134 Merge topic 'remove-vs7.1-generator'
c94f1bcf Drop Visual Studio 7 .NET 2003 generator
a4452fd8 cmGlobalVisualStudioGenerator: Drop VS7 enumeration value
6e66fe5f cmGlobalVisualStudio8Generator: Drop unused GetDocumentation method

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !723
2017-04-20 08:47:26 -04:00
Brad King
caabb6e1f3 Help/dev: Adopt C++ subset rules in coding guide
Move the C++ subset rules from the `cmake-developer(7)` into our
dedicated coding guide since they do not need to be in user-facing
documentation.
2017-04-19 16:41:58 -04:00
Brad King
0fd255adf5 Help/dev: Adopt clang-format instructions in coding guide
Simplify the `CONTRIBUTING.rst` document by moving the code style
section over to our dedicated coding guide and linking to it instead.
2017-04-19 16:33:06 -04:00
Brad King
540b4cdc2b Help/dev: Add a CMake Source Code Guide placeholder
Create a dedicated document to cover the CMake source code for
developers.
2017-04-19 16:18:26 -04:00
Brad King
c94f1bcf92 Drop Visual Studio 7 .NET 2003 generator
This generator has been deprecated since CMake 3.6.  Remove it.
2017-04-19 15:28:05 -04:00
Brad King
44f0d2d991 Merge topic 'objlib-extend'
eec93bce Allow OBJECT libraries to be installed, exported, and imported
93c89bc7 Genex: Allow TARGET_OBJECTS to be used everywhere
ac0cf7ff Genex: Reject TARGET_OBJECTS on non-object libraries earlier
8577978c Tests: ExportImport C code should use explicit (void) in prototypes
26cfd039 cmInstallTargetGenerator: Re-order GenerateScriptForConfig logic
25f3f22a cmGlobalGenerator: Add method to check if object file location is known
d596c550 cmGeneratorTarget: Add method to get the object file directory
930042f2 cmGeneratorTarget: Factor out a GetTargetObjectNames method
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !712
2017-04-19 10:47:31 -04:00
Brad King
334efdebb8 Merge topic 'doc-CMAKE_MATCH_n'
eb08e1fe Help: Document CMAKE_MATCH_<n> variables
8dd99752 Help: Link from if(MATCHES) to regex specification docs
a0091a69 Help: Format string() command regex specification docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !719
2017-04-19 10:45:41 -04:00
Brad King
c79e7e09a8 Merge topic 'findmpi-add-imported-targets'
3ed9f635 FindMPI: Add test case
86979bb5 FindMPI: Add IMPORTED targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !707
2017-04-19 10:45:03 -04:00
Brad King
eb08e1febb Help: Document CMAKE_MATCH_<n> variables 2017-04-18 14:45:49 -04:00
Brad King
8dd9975263 Help: Link from if(MATCHES) to regex specification docs 2017-04-18 14:45:04 -04:00
Brad King
a0091a697e Help: Format string() command regex specification docs 2017-04-18 14:44:50 -04:00
Brad King
3022545f14 Help: Document find command search path separators
The `find_*` commands read search paths from both CMake variables
and from environment variables.  Document how multiple values in
these variables should be separated.

Fixes: #16800
2017-04-18 14:22:20 -04:00
Christian Pfeiffer
3ed9f63551 FindMPI: Add test case 2017-04-18 17:43:25 +02:00
Robert Maynard
eec93bceec Allow OBJECT libraries to be installed, exported, and imported
Teach install() and export() to handle the actual object files.
Disallow this on Xcode with multiple architectures because it
still cannot be cleanly supported there.

Co-Author: Brad King <brad.king@kitware.com>
2017-04-18 11:36:10 -04:00
Robert Maynard
93c89bc75c Genex: Allow TARGET_OBJECTS to be used everywhere
Previously the `TARGET_OBJECTS` generator expression was limited
only to use in a buildsystem context so that Xcode's placeholders
in object file paths can be evaluated.  Lift this restriction so
that the expression can at least be used in most settings.

Co-Author: Brad King <brad.king@kitware.com>
2017-04-18 11:36:09 -04:00
Brad King
f7e3a34d3c Merge topic 'ipo-var-per-config'
470437f6 Support CMAKE_INTERPROCEDURAL_OPTIMIZATION_<CONFIG>

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !709
2017-04-18 08:54:24 -04:00
Brad King
eedcaf44bc Merge topic 'cpackifw-search-algorithm'
049be8b9 CPackIFW: Added new QtIFW versions for search
d97978b8 CPackIFW: Improved QtIFW search algorithm

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !674
2017-04-18 08:54:04 -04:00
Ruslan Baratov
470437f6f9 Support CMAKE_INTERPROCEDURAL_OPTIMIZATION_<CONFIG> 2017-04-18 03:10:34 +08:00
Brad King
c0323cbf5f Merge topic 'vs-custom-kits-dir'
fee01194 VS: Add an environment variable for the Windows 10 kits directory
b80c6d12 VS: Refactor Win 10 Kits root detection to support multiple roots

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !696
2017-04-17 10:29:15 -04:00
Konstantin Podsvirov
049be8b95f CPackIFW: Added new QtIFW versions for search 2017-04-15 07:02:11 +03:00
Konstantin Podsvirov
d97978b887 CPackIFW: Improved QtIFW search algorithm
Improvements:
- Added new hint CPACK_IFW_ROOT variable;
- Extend documentation.
2017-04-15 06:52:13 +03:00
Brad King
2cb98329f1 Merge topic 'project-description'
3b484871 project: Add `DESCRIPTION` parameter

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !679
2017-04-13 08:14:23 -04:00
Brad King
fee011946e VS: Add an environment variable for the Windows 10 kits directory
Define a `CMAKE_WINDOWS_KITS_10_DIR` environment variable to allow
users to tell CMake about a custom Windows 10 SDK directory.  We
choose to make this an environment variable rather than a CMake
variable or cache entry because:

* Using a custom directory also requires custom external MSBuild
  configuration.  Therefore users are already configuring a
  custom environment.

* The custom directory must be set consistently in all parts of
  a build including nested projects.  An environment variable
  avoids requiring users to thread the setting into nested builds.

Fixes: #16743
2017-04-12 10:57:05 -04:00
Brad King
35d81b69fa Merge topic 'doc-cmake-E-copy-no-wildcards'
6e68d014 Help: Add note about cmake -E copy not supporting wildcards

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !687
2017-04-12 09:04:14 -04:00
Tim
6e68d014d5 Help: Add note about cmake -E copy not supporting wildcards
Issue: #16791
2017-04-11 10:26:16 -04:00
Alex Turbov
3b4848717a project: Add DESCRIPTION parameter
It is quite often the project description has used in a real world software.
Examples include:

* part of a help screen of the application
* builtin resources (`*.rc` files, data for "About" dialog of a GUI app, & etc)
* most generators for CPack can use it
* it could be used by documentary software (Doxygen, Sphinx) which is usually
  integrated to CMake based projects via `add_custom_target()`

Now `project()` call learned an optional `DESCRIPTION` parameter with a
short string describing a project. Being specified, it would set the
`PROJECT_DESCRIPTION` variable which could be used in `configure_file()`
or whatever user wants.  Also `PROJECT_DESCRIPTION` is a default value
for `CPACK_PACKAGE_DESCRIPTION_SUMMARY`.
2017-04-11 10:17:00 -04:00
Ľubomír Carik
d914030507 macOS: Enable Hi-DPI support in applications by default
Every desktop application should be HiDPI ready in present.
Based on information from Qt documentation enabling properties in
`Info.plist` is sufficient to activate this feature.
Newer versions of `qmake` do it.

Signed-off-by: Ľubomír Carik <Lubomir.Carik@gmail.com>
2017-04-11 09:49:12 -04:00
Brad King
7b51c1c789 Merge topic 'emulatorTargetPropertyDocs'
186dd877 Help: Cross compile variable used as initial value for target property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !683
2017-04-10 10:01:31 -04:00
Brad King
5e95a99088 Merge topic 'clarifyFileGenerateDocs'
d039f741 Help: Clarify file(GENERATE) only writes output file at generation phase

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !681
2017-04-10 10:01:11 -04:00
Brad King
54d8c0db00 Merge topic 'clarifyRemoveDocs'
812274ff Help: Clarify what the -f option does for the remove command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !680
2017-04-10 10:00:58 -04:00
Craig Scott
d039f7414f Help: Clarify file(GENERATE) only writes output file at generation phase
Closes: #16556
2017-04-10 09:58:22 -04:00
Craig Scott
186dd8771e Help: Cross compile variable used as initial value for target property
Variable CMAKE_CROSSCOMPILING_EMULATOR is used to initialize
CROSSCOMPILING_EMULATOR.

Issue: #16785
2017-04-10 09:52:58 -04:00
Craig Scott
812274ff49 Help: Clarify what the -f option does for the remove command
Closes: #16784
2017-04-10 09:50:10 -04:00
Brad King
43381b4de7 Help/dev: Document preferred page for MR comments 2017-04-06 09:53:19 -04:00
Brad King
da9fe11b98 Merge topic 'include_external_msproject-map-config'
227de0b9 include_external_msproject: Honor MAP_IMPORTED_CONFIG_<CONFIG>
4cd815f0 VS: Pass whole target to WriteProjectConfigurations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !669
2017-04-06 09:38:36 -04:00
Beeble
227de0b95d include_external_msproject: Honor MAP_IMPORTED_CONFIG_<CONFIG>
This allows projects added via `include_external_msproject` to compile
the preferred configuration despite different naming conventions.
2017-04-05 13:44:03 -04:00
Brad King
333ff168eb Merge topic 'fix-genex-example'
3ecbe76e Help: Fix error in $<COMPILE_LANGUAGE:lang> example

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !667
2017-04-05 10:29:57 -04:00
Brad King
d9bd7adfdf Merge topic 'prop-is-multi-config'
01826231 Tests: Add case for GENERATOR_IS_MULTI_CONFIG
38fd5866 Add GENERATOR_IS_MULTI_CONFIG global property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !657
2017-04-05 10:22:23 -04:00
Brad King
0d17a82b0b Merge topic 'revert-cpack_nsis_sign_uninstaller'
1b1ad2a2 Revert "CPack/NSIS: Sign the uninstaller"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !597
2017-04-05 10:17:21 -04:00
Nils Gladitz
3ecbe76e60 Help: Fix error in $<COMPILE_LANGUAGE:lang> example 2017-04-04 23:28:25 +02:00
Brad King
1b1ad2a2f4 Revert "CPack/NSIS: Sign the uninstaller"
This reverts commit 09475c29 (CPack/NSIS: Sign the uninstaller,
2017-03-01) and follow-up commit e1ee7b43 (CPack/NSIS: Avoid a race
condition when generating the installer, 2017-03-22).  The signing
implementation does not work on Linux for a couple reasons:

* The script tries to run the temporary uninstaller executable,
  but of course this cannot be done except on a Windows host.

* The `${NSISDIR}\makensis` file does not exist because `makensis`
  is installed elsewhere.

The result is that existing package configurations can break on Linux.
For example, the CPackComponents test fails.

Revert the feature until an alternative implementation approach can be
found.
2017-04-04 13:41:54 -04:00