Commit Graph

1809 Commits

Author SHA1 Message Date
Brad King
bbf48c494a Merge topic 'windows-auto-export-incremental-build'
ff5028c531 Windows: Prevent auto exports to be regenerated on every build

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3750
2019-09-10 10:54:55 -04:00
Daniel Eiband
ff5028c531 Windows: Prevent auto exports to be regenerated on every build
Check modified time stamps of input files against an existing exports file
before generating the auto exports.

Fixes: #19650
2019-09-09 15:43:15 +02:00
Craig Scott
a2d4968ab9 Merge topic 'doxygen-add-docs-USE_STAMP_FILE'
611eb26b9d FindDoxygen: add USE_STAMP_FILE option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3238
2019-09-05 20:03:55 -04:00
Nikita Sirgienko
611eb26b9d FindDoxygen: add USE_STAMP_FILE option
The new option enables the behavior of only building if sources change.
2019-09-06 09:12:09 +10:00
Brad King
6db8f6a410 Merge topic 'doc-remove_directory-symlink'
3beb2c440b cmake: Document -E remove_directory symlink behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3784
2019-09-05 09:07:30 -04:00
Brad King
ac4d6d4a9d Merge topic 'unity-build'
7786a05c70 Unity build: Add XCode support
1353802af3 Unity build: Add unit tests
8dfeb5d278 Unity build: Add support for Visual Studio generator
7114c141e2 Unity build: Add support for Ninja and Makefile generators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Stanislav Ershov <digital.stream.of.mind@gmail.com>
Acked-by: Evgeniy Dushistov <dushistov@mail.ru>
Acked-by: Viktor Kirilov <vik.kirilov@gmail.com>
Merge-request: !3611
2019-09-05 08:36:06 -04:00
Brad King
3beb2c440b cmake: Document -E remove_directory symlink behavior
Update documentation for the change made by commit e6c9a8bac3 (cmake:
Teach -E remove_directory to remove directory symlinks, 2019-08-26).
Also add a release note.

Issue: #19533
2019-09-05 08:31:49 -04:00
Regina Pfeifer
e26f0e9dd5 CPack: Add generator for .tar.zst packages 2019-09-04 13:05:22 -04:00
Brad King
72b7629956 Merge topic 'FindPython-specify-artifacts-directly'
06d9e67fbd FindPython: Add capability to specify directly artifacts
cea2010b5c FindPython: Enhance python cache variables management.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3690
2019-09-03 09:49:00 -04:00
Brad King
54b69bd642 Merge topic 'gtest-1.8.1'
aaf2435780 FindGTest: Add support for googletest 1.8.1 folder structure

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3756
2019-09-03 09:36:59 -04:00
Brad King
d8e3237611 Merge topic 'FindPkgConfig-module-name'
fe68387695 FindPkgConfig: return the module found by pkg_search_module

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3749
2019-09-03 09:33:02 -04:00
Brad King
2e6effd2e0 Merge topic 'cpack-install-multiple-configurations'
da5ac4bb60 cpack: Add `CPACK_INSTALL_CMAKE_CONFIGURATIONS` variable
d4e6b2ae25 Refactor: Use `unique_ptr` instead of raw pointer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3533
2019-09-03 09:30:15 -04:00
Marc Chevrier
06d9e67fbd FindPython: Add capability to specify directly artifacts
Fixes: #19492
2019-09-02 17:20:53 +02:00
Kelby Faessler
aaf2435780 FindGTest: Add support for googletest 1.8.1 folder structure 2019-08-30 11:24:27 -04:00
Alex Turbov
da5ac4bb60 cpack: Add CPACK_INSTALL_CMAKE_CONFIGURATIONS variable
For the multi-configuration generators one can specify the list
of configurations to include in the package.

E.g. having a project, where debug libraries have a suffix to
distinct them from the release builds, one can build the package
containing both `Debug` and `Release` binaries.
2019-08-30 11:02:43 -04:00
Christophe Giboudeaux
fe68387695 FindPkgConfig: return the module found by pkg_search_module
When running `pkg_search_module`, it may be useful to get the matching
module name in order to run `pkg_get_variable`.

`pkg_search_module` now defines `<prefix>_MODULE_NAME` which contains
the first matching module name.

Fixes: #19648
2019-08-29 21:50:49 +02:00
Cristian Adam
7114c141e2 Unity build: Add support for Ninja and Makefile generators 2019-08-29 16:44:09 +02:00
Brad King
3ec986ce8e Merge topic 'per-lang-link-library-flag'
79b2824251 Add per-lang variants of CMAKE_LINK_LIBRARY_{FILE_FLAG,SUFFIX}

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3747
2019-08-29 09:41:06 -04:00
Brad King
fa36e2151d Merge topic 'precompile-headers'
8da78d4efe Precompile headers: Update documentation
5772930164 Precompile headers: Add unit tests
519606704e Precompile headers: Add support for Visual Studio generators
28be170fbc Precompile headers: Add support for Xcode generator
b8626261e9 Precompile headers: Add methods to generate PCH sources
375d01c680 PCH: add example/test
9b6797e71d PCH: add target_precompile_headers command
0467a2f91b PCH: add PRECOMPILE_HEADERS to special properties

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
Acked-by: Ivan171 <heavenandhell171@gmail.com>
Acked-by: Stanislav Ershov <digital.stream.of.mind@gmail.com>
Acked-by: Steve Mokris <smokris@softpixel.com>
Acked-by: Evgeniy Dushistov <dushistov@mail.ru>
Acked-by: Danila Malyutin <flashmozzg@gmail.com>
Acked-by: Viktor Kirilov <vik.kirilov@gmail.com>
Acked-by: Lucas Zhao <zhaopf6@163.com>
Merge-request: !3553
2019-08-29 09:38:21 -04:00
Brad King
3e93b2fa66 Merge topic 'vs-ConfigurationType-genex'
8909a450a6 VS: Add support for generator expressions to VS_CONFIGURATION_TYPE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3746
2019-08-28 11:53:12 -04:00
Cristian Adam
8da78d4efe Precompile headers: Update documentation 2019-08-28 11:47:51 -04:00
Alan W. Irwin
79b2824251 Add per-lang variants of CMAKE_LINK_LIBRARY_{FILE_FLAG,SUFFIX}
Extend the change from commit 689be6235e (Generator: support
per-language link library flag, 2019-08-08) to cover more link library
command-line flag components.  Allow compilers for different languages
to use different values for these linking-related variables within the
same build.

Closes: #19631
2019-08-27 13:49:54 -04:00
Brad King
843ab7544e Merge topic 'cmake-initial-cache-dirs'
4ca0526f8a cmake: Pass -S and -B into PreLoad.cmake and -C scripts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3709
2019-08-27 11:23:22 -04:00
Peter Waller
4ca0526f8a cmake: Pass -S and -B into PreLoad.cmake and -C scripts
Before this, it was not possible to see what the source or build directories
were set to on the command line.

Fixes: #19619
2019-08-27 10:51:40 -04:00
Daniel Eiband
8909a450a6 VS: Add support for generator expressions to VS_CONFIGURATION_TYPE
Generator expressions in target property VS_CONFIGURATION_TYPE might be used to
set the ConfigurationType to Utility for certain configurations to not build
the target while still linking to the target in other configurations.

Fixes: #19613
2019-08-26 15:22:43 +02:00
Brad King
76891a4a7a Merge topic 'CrayPrgEnv-update-link-type-detection'
971c778213 CrayPrgEnv: Change default linking mode based on PE version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3716
2019-08-23 10:05:52 -04:00
Chuck Atkins
971c778213 CrayPrgEnv: Change default linking mode based on PE version
Beginning with the 19.06 release of the Cray Programming Environment, the
default linking mode on XC Cray systems is dynamic instead of static.
This updates the CrayPrgEnv compiler wrappers to detect the PE version
being used and behave accordingly.
2019-08-22 12:26:06 -04:00
Brad King
a0c8405d68 Merge topic 'trace-redirect'
3c94069660 Add --trace-redirect parameter to redirect trace output to a file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3645
2019-08-20 09:20:49 -04:00
Brad King
e977867a12 Merge topic 'solaris_clang'
47937219ee Solaris: Add support for Clang compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3672
2019-08-19 14:56:14 -04:00
Kyle Edwards
39d2ce4a71 Merge topic 'per-language-link-library-flag'
689be6235e Generator: support per-language link library flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3668
2019-08-13 10:05:40 -04:00
Kyle Edwards
7099d113ae Merge topic 'support_CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS'
8f1d22c2d9 CUDA: Support CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS global variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3636
2019-08-13 09:58:03 -04:00
Igor Ivanov
3c94069660 Add --trace-redirect parameter to redirect trace output to a file 2019-08-10 11:41:53 +03:00
Libor Bukata
47937219ee Solaris: Add support for Clang compiler
Inspired-by: Rainer Orth
Fixes: #19456
2019-08-09 12:53:05 -04:00
Saleem Abdulrasool
689be6235e Generator: support per-language link library flag
This enables the use of MSVC and Swift on Windows in a single project.
MSVC uses no flag to indicate linked libraries while Swift uses `-l`.
Add support for a language specific link library flag which takes
precedence over the global `CMAKE_LINK_LIBRARY_FLAG` which preserves
compatibility with earlier releases.
2019-08-09 08:16:29 -07:00
Brad King
4d7fc09902 Merge topic 'doc-relnotes-3.15'
18ce372e0f Help: Add 3.15.2 release notes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3664
2019-08-07 12:43:39 -04:00
Brad King
18ce372e0f Help: Add 3.15.2 release notes 2019-08-07 12:41:27 -04:00
Robert Maynard
8f1d22c2d9 CUDA: Support CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS global variable 2019-08-06 09:55:40 -04:00
Kyle Edwards
8fd481a899 Merge topic 'ep_support_no_submodule_init'
d6be117ca0 ExternalProject: Support not initializing any submodules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3579
2019-07-26 12:02:34 -04:00
Kyle Edwards
618bd463ad Merge topic 'remove_compiler_rpath'
bd2793b6e9 Help: Add documentation for INSTALL_REMOVE_ENVIROMENT_RPATH
f08dcbffec Property: Add INSTALL_REMOVE_ENVIROMENT_RPATH property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3544
2019-07-26 12:01:27 -04:00
Brad King
8df10447a1 Merge topic 'doc-relnotes-3.15'
3b113cc131 Help: Add 3.15.1 release notes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3608
2019-07-26 07:37:19 -04:00
Brad King
3b113cc131 Help: Add 3.15.1 release notes 2019-07-26 07:18:09 -04:00
Jiang Yue
bd2793b6e9 Help: Add documentation for INSTALL_REMOVE_ENVIROMENT_RPATH 2019-07-25 12:30:24 -04:00
Robert Maynard
d6be117ca0 ExternalProject: Support not initializing any submodules
Fixes #15592
2019-07-24 09:36:30 -04:00
Robert Maynard
609fe39043 FindPackage: Support NO_[]_PATH global call options 2019-07-22 17:17:02 -04:00
Craig Scott
9e42075498 Merge topic 'cpack-install-scripts'
5f96601675 CPack: Introduce CPACK_INSTALL_SCRIPTS variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3531
2019-07-22 07:04:00 -04:00
Craig Scott
f4131e4e1b Merge topic 'feature/message-indent'
5f6fd917a3 message(): Control indentation via CMAKE_MESSAGE_INDENT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3464
2019-07-22 07:02:50 -04:00
Alex Turbov
5f96601675 CPack: Introduce CPACK_INSTALL_SCRIPTS variable
The singular name `CPACK_INSTALL_SCRIPT` has existed but was not linked
from the CPack documentation.  Also, it supported multiple values and
should have had a plural name.  Add a plural-named alternative now.
If both `CPACK_INSTALL_SCRIPTS` and `CPACK_INSTALL_SCRIPT` are set then
ignore the latter with a warning.

Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
2019-07-22 02:01:44 +03:00
Alex Turbov
5f6fd917a3 message(): Control indentation via CMAKE_MESSAGE_INDENT 2019-07-21 10:19:30 +10:00
Gabor Bencze
407dd1a910 Help: Add documentation for SKIP_REGULAR_EXPRESSION test property 2019-07-18 15:45:09 -04:00
Brad King
3fb3157dae AIX: Do not enable runtime linking by default anymore
We've long created shared objects on AIX using the linker's `-G` option
(also offered by the XL front-end).  The `-G` option implies `-brtl` and
enables runtime linking.  This has been largely unnecessary because we
provide all dependencies on the link line and both XL and GNU compilers
offer builtin behavior to export symbols.  Since commit 0f150b69d3 (AIX:
Explicitly compute shared object exports for both XL and GNU,
2019-07-11) we compute exports explicitly and consistently.
Therefore runtime linking is no longer necessary for shared objects.

We've also long created executables on AIX using the linker's `-brtl`
option to enable runtime linking in case they load plugins at runtime.
Since commit 9f5c2040bf (AIX: Explicitly compute executable exports for
both XL and GNU, 2019-07-12) and commit 2fa920c0cd (AIX: Create import
library for executables with exports, 2019-07-16) we now provide the
linker enough information to fully resolve symbols in plugins up front.
Therefore runtime linking is no longer necessary for executables.

Drop use of `-G` for creating shared objects and use the XL `-qmkshrobj`
and GCC `-shared` options instead.  Both invoke the linker with the
`-bM:SRE -bnoentry` options to create a shared object without runtime
linking enabled.  Also drop use of `-brtl` for creating executables.

Issue: #19163
2019-07-17 14:21:37 -04:00