Commit Graph
47352 Commits
Author SHA1 Message Date
Regina Pfeifer a2648dda97 Mark operator bool explicit 2018-11-19 23:35:09 +01:00
Kyle Edwards b5f8113ca7 Genex: Add policy to handle empty list items in $<IN_LIST:...>
The old behavior of $<IN_LIST:...> is inconsistent with that of
if(IN_LIST), in that it does not find an empty search item even if
the list contains empty items. This change adds a new policy to
correctly handle empty items and make the behavior more consistent
with if(IN_LIST).

Fixes: #18556
2018-11-19 17:02:06 -05:00
Brad King a5241cc3a7 Merge branch 'blas-pkgcfg' into release-3.13
Merge-request: !2631
2018-11-19 15:47:59 -05:00
Martin von Gagern a3c31effed FindBLAS: Restore BLAS_FOUND when found using pkgconfig
Refactoring in commit v3.12.0-rc1~92^2 (FindPkgConfig: export the list
of found libraries also as variable, 2018-05-11) dropped use of FPHSA
to set `BLAS_FOUND`.  Set it explicitly instead.
2018-11-19 15:47:20 -05:00
Brad King 3e1c361afa Merge branch 'FindPython-lib-arch' into release-3.13
Merge-request: !2624
2018-11-19 15:37:05 -05:00
Marc Chevrier c24f29c664 FindPython: Ensure config tool matches library architecture 2018-11-19 15:36:26 -05:00
Brad King d3fa2e7400 Merge branch 'irsl-ucrt-version' into release-3.13
Merge-request: !2637
2018-11-19 13:32:13 -05:00
Brad King 01c7d9ce86 IRSL: Detect versioned Windows Universal CRT directories
Windows SDK version 10.0.17763.0 now places the uCRT libraries in a
versioned directory.

Fixes: #18603
2018-11-19 13:31:40 -05:00
Brad King 1dc85a6652 Merge branch 'release-3.13' 2018-11-19 10:47:42 -05:00
Brad King 9e1ee3a7c9 Merge topic 'backport-configure_file-canonical-deps'
57701227d6 configure_file: canonicalize input and output path in dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2635
2018-11-19 10:47:04 -05:00
Brad King e593161bd5 Merge branch 'backport-configure_file-canonical-deps' into release-3.13
Merge-request: !2635
2018-11-19 10:14:26 -05:00
Frank Benkstein 57701227d6 configure_file: canonicalize input and output path in dependencies
Represent the input file path internally in canonical form.  Otherwise
multiple `configure_file` calls that share the same input file but specify
it relative to different directories (e.g. via `../`) result in multiple
copies of the dependency on the rule to re-run CMake.  This causes the
Ninja generator to emit duplicate phony build statements for these
dependencies, which generates an error with `-w dupbuild=err`, which
will be default in Ninja 1.9.

Also canonicalize the output path for consistency.

Add a test case.

Fixes: #18584
2018-11-19 10:11:12 -05:00
Brad King 8866f63f60 Merge topic 'macro_doc_cleanups'
b82526c654 Help: Minor grammar and typo corrections for macro command docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2622
2018-11-19 09:59:02 -05:00
Brad King b7b2ce56a7 Merge topic 'findx11-imported-targets'
bced9d5e56 Tests/FindX11: add a test
a7d2ffb232 FindX11: add imported targets
40b3dba529 FindX11: require Freetype and Fontconfig for Xft
cc96249e2e FindX11: remove local variable from the advanced list
99489d9f10 FindX11: find Xext.h
b8b598061a FindX11: match variables with library names
6079a0d00f FindX11: fix some formatting in the documentation
3c54955d0d FindX11: use `list(APPEND)` for clearer code
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2604
2018-11-19 09:57:46 -05:00
Brad King d9d8816f39 Merge topic 'pie-link-options'
b10f7ac534 CMP0083: fix warning message on try_compile

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2619
2018-11-19 09:57:13 -05:00
Brad King 95a735116f Merge topic 'ctest-stdin'
86e8315482 CTest: Restore inheritance of stdin by test processes
bdec3bd896 Tests: Teach RunCMake infrastructure to optionally provide stdin

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2618
2018-11-19 09:52:07 -05:00
Marc Chevrier b10f7ac534 CMP0083: fix warning message on try_compile
Fixes: #18593
2018-11-19 10:56:02 +01:00
Kitware Robot 61e3ceda21 CMake Nightly Date Stamp 2018-11-19 00:01:04 -05:00
Jakub Benda d5f691be0b FindLAPACK: Additional libraries for MKL+gfortran combination
As per Intel MKL command line advisor, "libdl" is added to the list of
libraries that provide LAPACK functionality. Furthermore, the implicit
link directories are added to the searched libraries to allow finding
of "libgomp".
2018-11-18 20:16:39 +00:00
Jakub Benda 8b63265ea5 FindLAPACK: Unify internal variables related to MKL
Auxiliary internal variables related to MKL are now consistently
prefixed with LAPACK_mkl_ and unset at the end of the MKL section.
2018-11-18 20:00:14 +00:00
Jakub Benda ede1715c1d FindLAPACK: Remove MKL components already provided by MKL BLAS
A surplus library libmkl_gf_... has been removed from the LAPACK
libraries serach path (when relevant, it is already provided by BLAS).
Similarly, the thread libraries do not need to be explicitly added to
the implicit LAPACK libraries, as they are already included in the
list (via BLAS libraries provided by FindBLAS).
2018-11-18 19:56:24 +00:00
Jakub Benda 03879b11af FindLAPACK: Prioritize Intel MKL
As in FindBLAS, the Intel Math Kernel Library is now the preferred
LAPACK vendor. (The corresponding section of the code has been moved
upwards.)
2018-11-18 19:48:23 +00:00
Jakub Benda b4edf7b5d2 FindBLAS: Support 32bit Intel MKL 10.3+
The module FindBLAS now correctly finds Intel MKL distributions that do
not have the (long deprecated) library "libguide", but use "libiomp5"
instead.
2018-11-18 17:00:37 +00:00
Jakub Benda fc149a72f7 FindBLAS: Support combination of gfortran and Intel MKL
The module FindBLAS now correctly chooses MKL BLAS libraries to search,
based on the compiler ID. The MKL libraries needed for BLAS functionality
are the following:

  libmkl_{gf|intel}_{lp64|ilp64}.{a|so}
  libmkl_{gnu|intel}_thread.{a|so}       (or libmkl_sequential.{a|so})
  libmkl_core.{a|so}
  libm
  libdl
  lib{gomp|iomp5}.{a|so}                 (only with libmkl_*_thread.*)

To achieve the goal, the following internal variables are defined and used:

  BLAS_mkl_INTFACE   = "gf" or "intel"   (based on compiler ID)
  BLAS_mkl_THREADING = "gnu" or "intel"  (based on compiler ID)
  BLAS_mkl_OMP       = "gomp" or "iomp5" (based on compiler ID)
  BLAS_mkl_LM        = "-lm"             (not set on Windows)
  BLAS_mkl_DL        = "-ldl"            (not set on Windows)

The default values for the first three of them are "intel" and "iomp5",
unless a Fortran compiler is loaded with CMAKE_Fortran_COMPILER_ID
equal to "GNU"; in such case the "gf", "gnu" and "gomp" values are used.

In non-Windows systems, the thread library as well as libm and libdl are
now added to the linker line to allow static linking of libgomp.
2018-11-18 16:59:03 +00:00
Jakub Benda f0d52f55f1 FindBLAS: Consolidate duplicated code related to MKL on Windows
The code that decides which library suffix to use for MKL libraries
in Windows was in two places. This commit consolidates it in one place.
2018-11-18 14:52:13 +00:00
Kitware Robot 6f5cdc0c83 CMake Nightly Date Stamp 2018-11-18 00:01:11 -05:00
Kitware Robot be9ad8279a CMake Nightly Date Stamp 2018-11-17 00:01:03 -05:00
Kitware Robot 7aa41095fd CMake Nightly Date Stamp 2018-11-16 00:01:04 -05:00
Craig Scott b82526c654 Help: Minor grammar and typo corrections for macro command docs
Follow-up to !2616, specifically commit 22cca9b810
2018-11-16 08:01:55 +11:00
Brad King b324743229 Merge topic 'cpack'
a26ac919ef Help: Explain interaction of cpack(1) and CPack.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2617
2018-11-15 13:49:58 -05:00
Ben Boeckel bced9d5e56 Tests/FindX11: add a test 2018-11-15 13:08:18 -05:00
Joachim Wuttke (l) a26ac919ef Help: Explain interaction of cpack(1) and CPack.
In particular, make clear that package/installer generators
are not the makefile generators of the cmake command.

Also insert sections in CPack doc, and capitalize section titles.
2018-11-15 16:50:52 +01:00
Brad King 1763f04281 Merge topic 'test-WriteBasicConfigVersionFile'
f3a381115f Tests: Simplify RunCMake.WriteBasicConfigVersionFile
0dbcc1afbf Tests: Factor out RunCMake.WriteBasicConfigVersionFile test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2612
2018-11-15 10:41:07 -05:00
Brad King 20aab1a4e7 Merge topic 'configure_file-canonical-deps'
6199637e95 configure_file: canonicalize input and output path in dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2586
2018-11-15 10:40:33 -05:00
Brad King 59fc717c25 Merge topic 'deprecate-findqt'
0f5c1b404b find_package(): Add policy to remove the FindQt module

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: noo mook <noomook2519@gmail.com>
Merge-request: !2554
2018-11-15 10:39:55 -05:00
Brad King d684090470 Merge branch 'ctest-stdin' into release-3.13
Merge-request: !2618
2018-11-15 10:18:00 -05:00
Brad King 64df9ef33a Merge topic 'autogen_info_write'
e0c26406aa Autogen: Sort tests
83bbfb1d53 Autogen: Add a definitions test to the MocOnly test
01d5e5c460 Autogen: Add and use cmQtAutoGenInitializer::InfoWriter class

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2610
2018-11-15 08:38:12 -05:00
Brad King f21bad80a2 Merge topic 'test-XcodeProject-timeout'
ca355d92d8 Tests: Add option for custom RunCMake.XcodeProject timeout

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2614
2018-11-15 08:37:32 -05:00
Brad King b3d1d6d895 Merge topic 'doc-developer-to-source-guide'
a82282a08c Help/dev: Factor out a CMake Documentation Guide for developing the docs
bfbc5241e9 Help: Fix policy markup example in cmake-developer(7)
3e5a047f1a Help: Drop compile features section from cmake-developer(7) manual
06cc050c1f Help/dev: Drop 'size_t' preference from source code guide

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2615
2018-11-15 08:36:52 -05:00
Brad King bd2c17d614 Merge topic 'macro3'
22cca9b810 Help: describe differences between macro and function.
b90ae70a3b Help: in macro vs function example, use lowercase names.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2616
2018-11-15 08:36:02 -05:00
Brad King 86e8315482 CTest: Restore inheritance of stdin by test processes
Since commit v3.11.0-rc1~117^2 (CTest: Re-implement test process
handling using libuv, 2017-12-10) we do not give the child test
processes any stdin.  Prior to that change we let the child test
processes inherit stdin from ctest itself.  Tests that run serially
might be able to use the real stdin meaningfully, so restore that
behavior and add a test case.

Fixes: #18591
2018-11-15 08:08:56 -05:00
Brad King bdec3bd896 Tests: Teach RunCMake infrastructure to optionally provide stdin 2018-11-15 08:08:56 -05:00
Kitware Robot 44a5400d10 CMake Nightly Date Stamp 2018-11-15 00:01:04 -05:00
Joachim Wuttke (l) 22cca9b810 Help: describe differences between macro and function. 2018-11-14 21:56:23 +01:00
Brad King a786062db2 Merge topic 'WIN32'
254a849864 Help: Spell out MFC
b173c641c4 Help: Add links to variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2613
2018-11-14 15:18:15 -05:00
Kyle Edwards 0f5c1b404b find_package(): Add policy to remove the FindQt module
Removing FindQt.cmake gives Qt upstream a path forward to export its
own QtConfig.cmake files which can be found by find_package()
without having to explicitly specify CONFIG. Projects that still
want to use Qt3/4 can call find_package(Qt[34]), include(FindQt),
or add FindQt.cmake to their CMAKE_MODULE_PATH.
2018-11-14 15:05:06 -05:00
Brad King a82282a08c Help/dev: Factor out a CMake Documentation Guide for developing the docs
Remove this content from the `cmake-developer(7)` manual because it
is relevant only to developers working on CMake itself.  Move it to
a guide in the developer documentation.
2018-11-14 14:38:13 -05:00
Joachim Wuttke (l) b90ae70a3b Help: in macro vs function example, use lowercase names.
Follow our own advise not to change cases.

Omit the leading underscore.
2018-11-14 20:33:12 +01:00
Brad King bfbc5241e9 Help: Fix policy markup example in cmake-developer(7) 2018-11-14 14:29:13 -05:00
Brad King 3e5a047f1a Help: Drop compile features section from cmake-developer(7) manual
We no longer add granular compile features.  Only language standard
meta features like `cxx_std_##`` need to be added, and these can
be done by following existing patterns.
2018-11-14 14:29:13 -05:00