Commit Graph

968 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
Bastien Schatt
38fd5866c0 Add GENERATOR_IS_MULTI_CONFIG global property
Fixes: #16768
2017-04-04 09:49:00 -04:00
Ruslan Baratov
7393418844 Rename CMAKE_GCC_{AR,RANLIB} to CMAKE_LANG_COMPILER_{AR,RANLIB}
The variables recently added by commit b9d36826 (Add 'CMAKE_GCC_AR' and
'CMAKE_GCC_RANLIB' variables, 2017-03-08) are more appropriately managed
with language-specific names rather than toolchain-specific names.
2017-04-03 14:10:50 -04:00
Brad King
c791fb1254 Merge topic '16733-bundle-genex'
d1dac1ac Xcode: Execute RunCMake.Framework also for Xcode generator
d02709d7 Genex: Add `TARGET_BUNDLE_[CONTENT_]_DIR` generator expressions
013ffe76 cmGeneratorTarget: Call GetFrameworkDirectory in GetFullNameInternal
32e9d0ca cmGeneratorTarget: Use enum to describe bundle directory query level

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Craig Scott <craig.scott@crascit.com>
Merge-request: !635
2017-03-31 10:40:02 -04:00
Brad King
8772fc81c4 Merge topic 'ipo-policy-CMP0069'
dfa8263f Implement interprocedural optimization for GNU compilers
1588a577 Add policy CMP0069 to enforce INTERPROCEDURAL_OPTIMIZATION
a7575700 Refactoring: s,GetFeatureAsBool,IsIPOEnabled,
e05835c3 CheckIPOSupported: Visual Studio and Xcode generators do not support IPO

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Brad King <brad.king@kitware.com>
Reviewed-by: Nils Gladitz <nilsgladitz@gmail.com>
Merge-request: !568
2017-03-31 10:38:08 -04:00
Gregor Jasny
d02709d7f7 Genex: Add TARGET_BUNDLE_[CONTENT_]_DIR generator expressions
Closes #16733
2017-03-30 22:24:54 +02:00
Ruslan Baratov
dfa8263f4b Implement interprocedural optimization for GNU compilers
Honor the `INTERPROCEDURAL_OPTIMIZATION` target property for GNU
compilers by activating their link-time-optimization (LTO) flags.
2017-03-30 14:56:52 -04:00
Ruslan Baratov
1588a577d1 Add policy CMP0069 to enforce INTERPROCEDURAL_OPTIMIZATION
Previously the `INTERPROCEDURAL_OPTIMIZATION` target property was
honored only for the Intel compiler on Linux and otherwise ignored.  In
order to add support for more compilers incrementally without changing
behavior in the future, add a new policy whose NEW behavior enforces the
`INTERPROCEDURAL_OPTIMIZATION` property.  Add flags for supported
compilers and otherwise produce an error.
2017-03-30 14:56:46 -04:00
Betsy McPhail
b070947dff Add 'DISABLED' test property
When this property is set, the test is skipped and its status is
automatically set to 'Not Run'.  A disabled test will not be counted in
the total number of tests and its completion status will be 'Disabled'.
2017-03-29 10:29:57 -04:00
Domen Vrankar
f237f5f851 CPack/RPM: support for debuginfo package renaming 2017-03-25 15:25:55 +01:00
Brad King
56c39d8836 Merge topic 'add-CheckIPOSupported-module'
6c832674 Tests for 'CheckIPOSupported' module
fdb2ba25 CheckIPOSupported: New module to check for compiler/cmake IPO support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !558
2017-03-22 08:51:59 -04:00
Brad King
989484d51f Merge topic 'module-def-and-WINDOWS_EXPORT_ALL_SYMBOLS'
075f6454 Support WINDOWS_EXPORT_ALL_SYMBOLS with `.def` files
21c4ec4f cmGlobalVisualStudioGenerator: Simplify __create_def command generation
24361a45 bindexplib: Add support for parsing and integrating `.def` files
845c4824 bindexplib: Add method for parsing and integrating `.def` files
4f90e793 bindexplib: Revise coding style of CMake-specific methods

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !581
2017-03-22 08:49:09 -04:00
Brad King
075f645409 Support WINDOWS_EXPORT_ALL_SYMBOLS with .def files
The `WINDOWS_EXPORT_ALL_SYMBOLS` target property exports all symbols
found in object files explicitly given to the linker.  However, the
linker may also find additional symbols in dependencies and copy them
into the linked binary (e.g. from `msvcrt.lib`).  Provide a way to
export an explicit list of such symbols by adding a `.def` file as a
source file.

Fixes: #16473
2017-03-21 10:02:34 -04:00
Sebastian Holtermann
f89678f609 Autogen: Add AUTOGEN_SOURCE_GROUP release notes 2017-03-20 11:44:23 -04:00
Brad King
9e226d96ad Merge topic 'cuda-vs'
2a1f3dff Help: Add notes for topic 'cuda-vs'

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !578
2017-03-13 09:07:36 -04:00
Brad King
2a1f3dff6f Help: Add notes for topic 'cuda-vs' 2017-03-13 09:05:46 -04:00
Gregor Jasny
cf13e49544 Xcode: Control schema generation via variable
Issue: #15441
2017-03-12 21:24:46 +01:00
Ruslan Baratov
fdb2ba2521 CheckIPOSupported: New module to check for compiler/cmake IPO support 2017-03-11 19:46:25 +08:00
Brad King
29ec8d65f2 Merge topic 'pr.gcc_ar'
b9d36826 Add 'CMAKE_GCC_AR' and 'CMAKE_GCC_RANLIB' variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !550
2017-03-10 08:40:58 -05:00
Brad King
c4f9d10426 Merge topic 'master'
d9bdcf34 Tests: Add x32 tests to test suite
5b6d354f Help: Add notes for topic 'x32-abi'
bed9c73d Modules: Add x32-abi support to hard-coded paths
462cf254 Add support for x32-abi

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !532
2017-03-09 11:08:11 -05:00
Ruslan Baratov
b9d36826c5 Add 'CMAKE_GCC_AR' and 'CMAKE_GCC_RANLIB' variables 2017-03-09 04:28:01 +08:00
Brad King
5b6d354f70 Help: Add notes for topic 'x32-abi' 2017-03-07 15:22:55 -05:00
Brad King
632534104c Merge topic 'cpack_nsis_sign_uninstaller'
09475c29 CPack/NSIS: Sign the uninstaller

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !512
2017-03-07 08:24:09 -05:00
Ruslan Baratov
6b6191d875 Add variable 'CMAKE_INTERPROCEDURAL_OPTIMIZATION' 2017-03-02 09:37:39 -05:00
Brad King
c1fb7213ed Merge topic 'autogen_uic_paths'
3bf28f5e Autogen: New short InfoGet functions
154d8339 Autogen: Parse enabled feature configuration only
ac77fa35 Autogen: Add missing return on error
662ad240 Autogen: Rename and merge moc related methods
5adf22bb Autogen: Add AUTOUIC_SEARCH_PATHS release notes
36fa535d Autogen: Add AUTOUIC_SEARCH_PATHS documentation
6d7c02db Autogen: Add AUTOUIC_SEARCH_PATHS test
1cdf7c1b Autogen: Add AUTOUIC_SEARCH_PATHS support
110c1bf4 Autogen: Add subDirPrefix function
db431ecf Autogen: Merge FindInIncludeDirectories into FindIncludeFile
2017-03-02 09:26:13 -05:00
Brad King
6c332bd84c Merge topic 'find_library-custom-lib-suffix'
503f25d4 find_library: Allow custom lib suffix be used as find path
2017-03-02 09:26:08 -05:00
Brad King
5d81817b71 Merge topic 'csproj_add_free_source_tags'
506207f9 VS: add test for VS_CSHARP_* source file property
a202749c VS: add CSharpUtilities module
9588d0a2 VS: add VS_CSHARP_<tagname> sourcefile property
2017-03-02 09:26:03 -05:00
Sebastian Holtermann
5adf22bbd2 Autogen: Add AUTOUIC_SEARCH_PATHS release notes 2017-03-02 09:10:02 -05:00
Michael Stürmer
a202749c46 VS: add CSharpUtilities module 2017-03-01 15:31:05 -05:00
Michael Stürmer
9588d0a2e2 VS: add VS_CSHARP_<tagname> sourcefile property 2017-03-01 15:31:05 -05:00
Roman Wüger
09475c298b CPack/NSIS: Sign the uninstaller 2017-03-01 20:18:28 +01:00
Christian Schmidbauer
503f25d490 find_library: Allow custom lib suffix be used as find path
Add a new `CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX` variable to allow use
of a custom suffix on `lib` directory names.  This is a more general
option than that added by commit v3.7.0-rc1~504^2 (Teach find_library
and find_package to search lib32 paths, 2016-06-10).  It allows the find
path to be more deterministic on custom setups.

See discussion in #10287 and #15994.
2017-03-01 09:49:42 -05:00
Brad King
0aec4d3864 Merge topic 'cmake-xcode-schemes'
7238a052 Xcode: Add documentation for schema generator
ffb8817b Xcode: Write shared schemes based on the default files generated by Xcode
2017-02-28 09:39:12 -05:00