Commit Graph

8977 Commits

Author SHA1 Message Date
Michael Hirsch, Ph.D
170bcb6fdc FindOctave: Add module to find GNU octave 2018-12-06 14:16:44 -05:00
Brad King
d0e371f516 Merge topic 'try-compile'
f266182aec Check* functions family: add support for LINK_OPTIONS
29f9db5c63 try_compile/try_run: Add support for LINK_OPTIONS option.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2661
2018-12-06 09:03:58 -05:00
Brad King
0464298956 Merge topic 'arch-independent-version-file-creation'
eb973f935f CMakePackageConfigHelpers: Add ARCH_INDEPENDENT option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Silvio Traversaro <pegua1@gmail.com>
Merge-request: !2666
2018-12-06 09:00:58 -05:00
Marc Chevrier
f266182aec Check* functions family: add support for LINK_OPTIONS
Fixes: #18521
2018-12-01 17:56:23 +01:00
Justin Bassett
eb973f935f CMakePackageConfigHelpers: Add ARCH_INDEPENDENT option
Allow skipping the architecture check in the package version file generated from calling
write_basic_package_version_file. Document said architecture check.

Fixes: #16184
2018-11-30 22:52:40 -08:00
Guillem Jover
38e75bb3c6 CPack/Deb: Remove paxr as a supported tar format for a .deb
The only format supported from the ones available within cpack is
gnutar, which supports large numbers encoded in base-256, and long
filenames and linknames. PAX is not and has never been a supported
format by dpkg.

Fixes: #18620
2018-11-28 09:31:28 -05:00
Brad King
e3ec574834 Merge topic 'FindDoxygen-win-glob'
85a035bf00 FindDoxygen: Avoid Windows-specific GLOB on other platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2660
2018-11-27 08:50:07 -05:00
Brad King
bae71966fb Merge topic 'ctest-updates'
d9195ab081 Tests: Teach run_ctest to handle removal of CTestConfig.cmake
1ca53f5ef1 Remove unnecessary CTEST_PROJECT_NAME variables
15ac4aae0e Remove warning when no CTestConfig.cmake file exists
3125c47d27 ctest_build: Do not require unnecessary [CTEST_]PROJECT_NAME value
36bbd07a76 CDashUpload: Use the query part of the submit url as field
e1dfe8cee6 CTest: Don't require 'submit.php?' in submit location

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2640
2018-11-27 08:48:49 -05:00
Brad King
2a6e8644dd Merge topic 'blaslapack_mkl_gfortran'
c259912b14 FindBLAS: Do not look for BLAS once BLAS95 has been found
d5f691be0b FindLAPACK: Additional libraries for MKL+gfortran combination
8b63265ea5 FindLAPACK: Unify internal variables related to MKL
ede1715c1d FindLAPACK: Remove MKL components already provided by MKL BLAS
03879b11af FindLAPACK: Prioritize Intel MKL
b4edf7b5d2 FindBLAS: Support 32bit Intel MKL 10.3+
fc149a72f7 FindBLAS: Support combination of gfortran and Intel MKL
f0d52f55f1 FindBLAS: Consolidate duplicated code related to MKL on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2633
2018-11-27 08:48:08 -05:00
Brad King
4aad340ec4 Merge topic 'FindBoost-no-cxx'
0369362132 FindBoost: Restore finding without CXX language enabled

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2663
2018-11-27 08:44:11 -05:00
Noel Eck
85a035bf00 FindDoxygen: Avoid Windows-specific GLOB on other platforms
When `$ENV{ProgramFiles}` is empty, GLOB takes `/Graphviz*/bin` as a
path cusing the implementation to look at every directory in `/`.  If
the system has a slow(er) path mounted on '/' then `stat` call can take
some time.  There *may* be a better fix for this elsewhere, but for now
simply do this GLOB only on Windows.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-11-26 14:39:36 -05:00
Brad King
0369362132 FindBoost: Restore finding without CXX language enabled
Since commit v3.13.0~7^2 (FindBoost: Improve compiler prefix
detection for GCC 5+ and clang 4+, 2018-11-07) we run the internal
`_Boost_COMPILER_DUMPVERSION` macro on all UNIX platforms.  Teach
the macro to tolerate missing `CMAKE_CXX_COMPILER_VERSION`, which
occurs when the CXX language is not enabled.

Fixes: #18624
2018-11-26 13:13:58 -05:00
Jakub Benda
c259912b14 FindBLAS: Do not look for BLAS once BLAS95 has been found
When BLA_F95 is ON, FindBLAS looks for BLAS95_LIBRARIES (in Intel MKL).
As this is a superset of BLAS_LIBRARIES, if they are found, no further
search in other vendors is necessary.
2018-11-24 12:14:32 +00:00
Brad King
2b427c2fad Merge topic 'FindGIF-modernize'
74cc42e937 Help: Add notes for topic 'FindGIF-modernize'
6962a41e6b FindGIF: Add test
5bc64fe6c2 FindGIF: Modernize

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2632
2018-11-21 07:41:27 -05:00
Brad King
8b83d1fdff Merge topic 'find-boost-test-version'
19d92d5e6e FindBoost: provide the version in x.y.z format
186f69cf26 FindBoost: test version variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2638
2018-11-21 07:37:11 -05:00
Regina Pfeifer
1ca53f5ef1 Remove unnecessary CTEST_PROJECT_NAME variables 2018-11-20 21:43:27 +01:00
Maximilian Heinzler
5bc64fe6c2 FindGIF: Modernize
This brings the module up to the current find module standards by adding
the GIF_INCLUDE_DIRS variable and the target GIF::GIF. It also updates
the documentation style to that of similar modules.
2018-11-20 21:07:03 +01:00
Ben Boeckel
19d92d5e6e FindBoost: provide the version in x.y.z format 2018-11-20 10:45:24 -05:00
Brad King
e653f46677 Merge topic 'blas-pkgcfg'
a3c31effed FindBLAS: Restore BLAS_FOUND when found using pkgconfig

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2631
2018-11-20 09:26:31 -05:00
Brad King
fc366d2594 Merge topic 'FindPython-lib-arch'
c24f29c664 FindPython: Ensure config tool matches library architecture

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Eric Noulard <eric.noulard@gmail.com>
Merge-request: !2624
2018-11-20 09:25:48 -05:00
Brad King
4b94f3420c Merge topic 'irsl-ucrt-version'
01c7d9ce86 IRSL: Detect versioned Windows Universal CRT directories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2637
2018-11-20 09:25:03 -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
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
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
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
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
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
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
117272412e Merge topic 'GNUInstallDirs-FreeBSD-info'
f835f189ae GNUInstallDirs: Update FreeBSD "info" destination to share/info
4c0d97dd98 GNUInstallDirs: Split "info" and "man" default logic
1b8f0ca515 Tests: Split GNUInstallDirs expectations for FreeBSD

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Rolf Eike Beer <eike@sf-mail.de>
Merge-request: !2588
2018-11-14 08:59:19 -05:00
Tobias C. Berner
f835f189ae GNUInstallDirs: Update FreeBSD "info" destination to share/info
FreeBSD ports commit r484628 (Install texinfo files (GNU info) into
${PREFIX}/share/info, 2018-11-10) changed the "info" destination
from "info" to "share/info".  The commit included a patch to their
distribution of CMake to fix the `GNUInstallDirs` module too.
Apply a similar logic change to our upstream version of the module.

We already made a similar change for GNU/kFreeBSD in commit
v3.13.0-rc2~8^2 (GNUInstallDirs: Don't use BSD info and man paths on
GNU/kFreeBSD, 2018-10-21).

Fixes: #18585
2018-11-13 13:35:50 -05:00
Brad King
4c0d97dd98 GNUInstallDirs: Split "info" and "man" default logic
The conditions may soon differ.
2018-11-13 13:35:35 -05:00
Brad King
9fee704227 Merge topic 'SelectLibraryConfigurations'
fe15a1029c Help: Revise documentation of SelectLibraryConfigurations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2608
2018-11-13 10:46:54 -05:00
Brad King
06ef9edd51 Merge topic 'DeployQt4'
3a7f02197b Help: Downcase function names in DeployQt4 doc.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2600
2018-11-13 10:41:20 -05:00
Brad King
bd04db899f Merge topic 'WriteCompilerDetectionHeader'
0470ee96b1 Help: Remove duplication of function name.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2605
2018-11-13 10:40:38 -05:00
Brad King
9bb203ed0f Merge topic 'FindBoost-1.69'
5045cd82d0 FindBoost: Additional fixes for 1.69

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2601
2018-11-13 10:38:54 -05:00
Brad King
ad6ef6c1d5 Merge branch 'FindBoost-1.69' into release-3.13
Merge-request: !2601
2018-11-13 10:37:23 -05:00
Roger Leigh
5045cd82d0 FindBoost: Additional fixes for 1.69 2018-11-13 10:37:01 -05:00
Ben Boeckel
a7d2ffb232 FindX11: add imported targets
These imported targets are fine-grained and recommended over the global
`X11_LIBRARIES` and `X11_INCLUDE_DIR` variables.
2018-11-13 10:22:00 -05:00
Joachim Wuttke (l)
fe15a1029c Help: Revise documentation of SelectLibraryConfigurations
List format for chosen variables.

New paragraph before description of special cases.
2018-11-13 12:12:52 +01:00