Commit Graph

8215 Commits

Author SHA1 Message Date
Brad King
c1ea96d04c Merge topic 'autogen-parallel'
9cfa213a Autogen: Rename cmQtAutogeneratorInitializer to cmQtAutoGenInitializer
79908ae4 Autogen: Add release notes for (CMAKE_)AUTOGEN_PARALLEL
45ee4979 Autogen: Add documentation for (CMAKE_)AUTOGEN_PARALLEL
6f4b6613 Autogen: Tests: Add AUTOGEN_PARALLEL tests
a008578d Autogen: Process files concurrently in AUTOMOC and AUTOUIC
488baaf0 Autogen: Tests: Fix MocInclude test(s)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1632
2018-01-18 09:46:29 -05:00
Brad King
d0b00a848f Merge topic 'FindTCL-thread-suffix'
c9f66540 FindTCL: Find 8.6 libraries with 't' suffix

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1663
2018-01-18 09:42:11 -05:00
Craig Scott
b1fd313826 Merge topic 'FindDoxygen-macos-utils'
2489e5af FindDoxygen: On macOS search in '/Applications/Utilities' too

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1661
2018-01-17 15:08:22 -05:00
Sebastian Holtermann
a008578dee Autogen: Process files concurrently in AUTOMOC and AUTOUIC
This introduces concurrent thread processing in the `_autogen`
target wich processes AUTOMOC and AUTOUIC.
Source file parsing is distributed among the threads by
using a job queue from which the threads pull new parse jobs.
Each thread might start an independent ``moc`` or ``uic`` process.
Altogether this roughly speeds up the AUTOMOC and AUTOUIC build
process by the number of physical CPUs on the host system.

The exact number of threads to start in  the `_autogen` target
is controlled by the new AUTOGEN_PARALLEL target property which
is initialized by the new CMAKE_AUTOGEN_PARALLEL variable.
If AUTOGEN_PARALLEL is empty or unset (which is the default)
the thread count is set to the number of physical CPUs on
the host system.

The AUTOMOC/AUTOUIC generator and the AUTORCC generator are
refactored to use a libuv loop internally.

Closes #17422.
2018-01-17 17:23:49 +01:00
Thomas Thielemann
2489e5af5b FindDoxygen: On macOS search in '/Applications/Utilities' too
`FindDoxygen` already searches in hard-coded `/Applications/Doxygen.app`
directories.  Search in the `Utilities` subdirectory too in case users
choose to put doxygen there.
2018-01-16 10:16:32 -05:00
lorenz
c9f6654059 FindTCL: Find 8.6 libraries with 't' suffix
Building Tcl with `makefile.vc` produces library files with a `t`
suffix to indicate threading support.  Since threading support is
on by default in 8.6 anyway, the libraries should be compatible.

Issue: https://github.com/conda-forge/tk-feedstock/issues/12
2018-01-16 09:52:24 -05:00
Brad King
7accd7ebe2 Merge topic 'CheckIncludeFile-required-libs'
f74c2580 CheckIncludeFiles: Honor CMAKE_REQUIRED_LIBRARIES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1620
2018-01-16 09:27:02 -05:00
Brad King
e1f0518de0 GNU: Use -fvisibility on AIX when supported
Revise the logic from commit v3.7.0-rc1~173^2~2 (GNU: Do not use
-fvisibility on AIX or HP-UX, 2016-09-03) to add a version check.
The GCC 7 release notes [1] state that visibility support has been
added for AIX 7.1 and above.

[1] https://gcc.gnu.org/gcc-7/changes.html
2018-01-12 11:50:10 -05:00
Brad King
66335350a3 Merge topic 'msvc-asm'
6c3f374e MSVC: Avoid warning when enabling ASM language with C compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1655
2018-01-11 10:23:08 -05:00
Brad King
30fcb92576 Merge topic 'misc-typos'
d91b2d91 MAINT: Misc. typos

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1654
2018-01-11 10:18:54 -05:00
Brad King
3f4924aa60 Merge topic 'FindBoost-1.66'
6297d6c7 FindBoost: Generate imported targets for future Boost versions
d56deff7 FindBoost: Search for upstream-packaged libs next to includes
b044f69a FindBoost: Implement "Architecture and Address Model" tag
b1e9f671 FindBoost: Fix incorrect alphabetisation of headers list
433a2d49 FindBoost: Boost 1.66.0 dependency and release update

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Jason Juang <jasjuang@gmail.com>
Merge-request: !1625
2018-01-11 10:16:55 -05:00
Christian Pfeiffer
8f1666b207 Merge topic 'findmpi-new-mpiexec-search'
5e9512a3 FindMPI: Move MSMPI/MPICH2 mpiexec search

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1653
2018-01-11 07:01:00 -05:00
Don Hinton
f74c25802d CheckIncludeFiles: Honor CMAKE_REQUIRED_LIBRARIES
This is needed when cross compiling and the compiler requires a specific
linker different from the default, e.g., when cross compiling from
Darwin to Linux and passing `-fuse-ld=lld` to clang.

Fixes: #9514
2018-01-10 14:13:32 -05:00
Brad King
6c3f374e99 MSVC: Avoid warning when enabling ASM language with C compiler
The `CMakeASMInformation` module warns when no compiler-specific module
is found for the `ASM` language.  Add a minimal `Compiler/MSVC-ASM`
module to avoid the warning for MSVC.

Fixes: #17532
2018-01-10 14:04:04 -05:00
luz.paz
d91b2d9158 MAINT: Misc. typos
Found via `codespell`
2018-01-10 12:34:14 -05:00
Christian Pfeiffer
5e9512a358 FindMPI: Move MSMPI/MPICH2 mpiexec search
Move the logic to search mpiexec for MSMPI and MPICH2 guesses to their
respective guessing logic. This way, we can prevent mix ups between
their mpiexecs and other potential matches, for example from an Intel
MPI installation.
2018-01-10 18:20:49 +01:00
Brad King
d08f3f551f Merge topic 'unhardcode-configuration-types'
1f4d7a07 Help: Add references and backticks in LINK_FLAGS prop_tgt
48f7e2d3 Unhardcode the CMAKE_CONFIGURATION_TYPES values

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1345
2018-01-10 10:35:04 -05:00
Paul "TBBle" Hampson
6297d6c7fd FindBoost: Generate imported targets for future Boost versions
Per discussion on cmake/cmake#17575, this protection not particularly
valuable, as the dependency information which the imported targets wrap
is generated anyway.

This removes a road-block for using `Boost_ADDITIONAL_VERSIONS` to
support newly-released Boost versions pending a new CMake release.
2018-01-10 17:17:32 +11:00
Paul "TBBle" Hampson
d56deff7d1 FindBoost: Search for upstream-packaged libs next to includes
Upstream packages Boost binaries for Windows with the 'boost' directory
(the INCLUDE_DIR) next to the lib-... directory (the LIBRARY_DIR).
2018-01-10 17:17:27 +11:00
Paul "TBBle" Hampson
b044f69a41 FindBoost: Implement "Architecture and Address Model" tag
This tag is new in Boost 1.66.0, and is present in the 'versioned'
library file name layout.
2018-01-10 17:17:20 +11:00
Paul "TBBle" Hampson
b1e9f67137 FindBoost: Fix incorrect alphabetisation of headers list 2018-01-10 17:17:10 +11:00
Paul "TBBle" Hampson
433a2d495a FindBoost: Boost 1.66.0 dependency and release update
Release notes: http://www.boost.org/users/history/version_1_66_0.html

* All new libraries are header-only.
* _Boost_COMPONENT_DEPENDENCIES is unchanged from 1.65.1
* _Boost_FIBER_COMPILER_FEATURES is unchanged from 1.64.0
2018-01-10 17:16:57 +11:00
Brad King
ce629c5dde Merge topic 'FindPostgres_support_for_v10'
9417a6d3 FindPostgreSQL: Add support for PG10

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1635
2018-01-09 09:45:45 -05:00
Egor Pugin
9417a6d322 FindPostgreSQL: Add support for PG10 2018-01-09 09:43:41 -05:00
Brad King
ae89a6e110 Merge topic 'cpack_versions'
e4153640 Cpack.cmake: Document some CPACK_* default values

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1608
2018-01-09 09:38:02 -05:00
Brad King
5fbfa18fad Merge topic 'FindCUDA-deduplicate-c+std-host-flags'
ff41a4b8 FindCUDA: de-duplicates C++11 flag when propagating host flags.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1628
2018-01-09 09:26:51 -05:00
Brad King
bc88329e5b Merge topic 'msvc2017-findcuda'
fab1b432 FindCUDA: Update to properly find MSVC 2017 compiler tools

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1631
2018-01-09 09:26:20 -05:00
Beren Minor
48f7e2d300 Unhardcode the CMAKE_CONFIGURATION_TYPES values
This removes duplicated code for per-config variable initialization by
providing a `cmake_initialize_per_config_variable(<PREFIX> <DOCSTRING>)`
function.

This function initializes a `<PREFIX>` cache variable from `<PREFIX>_INIT`
and unless the `CMAKE_NOT_USING_CONFIG_FLAGS` variable is defined, does
the same with `<PREFIX>_<CONFIG>` from `<PREFIX>_<CONFIG>_INIT` for every
`<CONFIG>` in `CMAKE_CONFIGURATION_TYPES` for multi-config generators or
`CMAKE_BUILD_TYPE` for single-config generators.
2018-01-08 21:15:14 +01:00
Aaron Bray
fab1b432eb FindCUDA: Update to properly find MSVC 2017 compiler tools
An implementation that handles the different installation locations of
visual studio compiler tools
2018-01-08 11:35:36 -05:00
Brad King
f7f34a46e6 Merge topic 'use_generator_is_multi_config'
3c413e2a GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Modules
c267ea1c GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1627
2018-01-08 11:14:16 -05:00
Brad King
a3bba2a5ad Merge topic '17431-iphone-deployment-target'
4017bf40 Darwin: Emit deployment target that matches the SDK
8f4663ff Xcode: rename embedded SDK query function

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1447
2018-01-08 09:58:11 -05:00
David Hirvonen
ff41a4b817 FindCUDA: de-duplicates C++11 flag when propagating host flags. 2018-01-06 17:00:09 -05:00
Craig Scott
d88451568d Merge topic 'various-typos'
3ab7bf82 Various typo fixes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1626
2018-01-04 14:37:49 -05:00
Luz Paz
3ab7bf8285 Various typo fixes
Some are user-facing. Others are source comments.
2018-01-04 06:52:01 +11:00
Craig Scott
1e6d1dd358 FindDoxygen: Add DOXYGEN_VERBATIM_VARS for quote prevention
Each CMake variable listed in DOXYGEN_VERBATIM_VARS will not have any
automatic quoting applied to it when written to the Doxyfile.
2018-01-03 07:59:59 +11:00
Craig Scott
3c413e2a31 GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Modules 2017-12-30 09:35:56 +11:00
Gregor Jasny
4017bf40de Darwin: Emit deployment target that matches the SDK
Closes: #17431
2017-12-22 21:56:53 +01:00
Brad King
4309ed25ee Merge topic 'FindPkgConfig_search_path_fix'
40b95ee8 FindPkgConfig: Fix IMPORTED_TARGET NO...PATH option handling
b0ff528a FindPkgConfig: Make IMPORTED_TARGET test verify NO...PATH properly

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Rolf Eike Beer <eike@sf-mail.de>
Merge-request: !1602
2017-12-22 08:43:05 -05:00
Brad King
4148435993 Merge topic 'cpackifw-package-remove-target-dir'
739ae1d0 CPack/IFW: Add option to control deletion of the install directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1591
2017-12-21 08:01:34 -05:00
Brad King
70fba77b26 Merge topic 'FindBLAS-modernize'
a9c42e3e FindBLAS: optionally query pkg-config for a library
c095e2ad FindBLAS: simplify if()
fcf32645 FindBLAS: use FPHSA

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1599
2017-12-21 07:58:10 -05:00
Harry Mallon
e415364058 Cpack.cmake: Document some CPACK_* default values 2017-12-20 13:40:28 +00:00
Christian Pfeiffer
0816f7496b Merge topic 'findliblzma-win-name'
de706fe0 FindLibLZMA: Add library name for Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1605
2017-12-18 17:05:22 -05:00
Christian Pfeiffer
de706fe0d4 FindLibLZMA: Add library name for Windows
Fixes: #17568
2017-12-18 03:34:49 +01:00
Craig Scott
40b95ee8e6 FindPkgConfig: Fix IMPORTED_TARGET NO...PATH option handling 2017-12-16 22:40:40 +11:00
Rolf Eike Beer
a9c42e3ec0 FindBLAS: optionally query pkg-config for a library
This is more or less what Gentoo implements for years, but in a more
sophisticated version that uses the target mode now offered by
pkg_check_modules().
2017-12-15 21:24:25 +01:00
Rolf Eike Beer
c095e2ad54 FindBLAS: simplify if() 2017-12-15 21:10:25 +01:00
Rolf Eike Beer
fcf3264594 FindBLAS: use FPHSA 2017-12-15 21:10:25 +01:00
Jean-Philippe Lebel
739ae1d090 CPack/IFW: Add option to control deletion of the install directory
Added support for QT IFW "RemoveTargetDir" boolean option.  QTIFW
supports an option to prevent, or not, deletion of the installation
directory. This is a direct pass-through to that variable.
2017-12-15 13:24:58 -05:00
Brad King
f67f76c2b3 Merge topic 'FindFLTK-per-config'
f1299f5d FindFLTK: Find debug and release variants separately
d9154e52 FindFLTK: revise .rst markup
ccc9a6c7 FindFLTK: fix indentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1563
2017-12-15 10:43:07 -05:00
Brad King
6fb568cef6 Merge topic 'makefile-simplify-fortran'
7ab9a625 Makefiles: Drop 'requires' step and its supporting infrastructure
5f2e2c38 Makefiles: Avoid nested make calls for Fortran module dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1523
2017-12-15 10:42:12 -05:00