Commit Graph

42412 Commits

Author SHA1 Message Date
Brad King 1b46f2f12a Merge topic 'xcode-object-dir'
8a7f93d000 Xcode: Fix object library builds with sanitizers enabled
eff9c69740 Xcode: Place object library artifacts outside Objects-normal directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2885
2019-01-31 11:17:40 -05:00
Brad King ca0310b919 Merge topic 'set-validate-cache-type'
198650ae73 set: warn if CACHE type is not recognized

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2874
2019-01-31 11:16:53 -05:00
Brad King a2dc420cd4 Merge topic 'xerces-xalan-header-checking'
c68465f790 FindXercesC, FindXalanC: Don't examine non-existent version headers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2884
2019-01-31 11:16:04 -05:00
Brad King 0933707d5c Merge topic 'autogen-std-bind-to-lambdas'
d6fbd438c4 Autogen: Refactor std::bind calls to lambdas

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2766
2019-01-31 11:15:11 -05:00
Brad King dc9f4f9eca Merge topic 'tidy-use-equals-default-fix'
3f9822ff6d clang-tidy: Silence use-equals-default warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2887
2019-01-31 11:14:21 -05:00
Brad King fb82385515 Merge topic 'std-string-callback'
1180fc8780 OutputCallback: Accept std::string argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: vvs31415 <vstakhovsky@fastmail.com>
Merge-request: !2891
2019-01-31 11:13:34 -05:00
Brad King 24bee427b5 Merge topic 'update-kwsys'
a37614667d Configure KWSys to honor CMake_NO_CXX_STANDARD
e3b26f0004 Merge branch 'upstream-KWSys' into update-kwsys
c22e373a30 KWSys 2019-01-30 (ce89cada)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2886
2019-01-31 11:12:27 -05:00
Brad King 9aef4a732b Merge topic 'variables1'
9d20fe014f Help: moved 7 variables to "internal" section
dfb2d6178e Help: "internal variables" instead of "obsolete", with some explanatory prose
9c4cdc43f6 Help: declare CMAKE_HOME_DIRECTORY obsolete

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2881
2019-01-31 11:11:28 -05:00
Brad King 1b3b0fa43a Merge topic 'msys_docs'
ec027aa64a Help: Add documentation for MSYS variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2882
2019-01-31 11:10:03 -05:00
Brad King 74cba6a3fd Merge topic 'lapack-docs'
be7b30f67e Find{BLAS,LAPACK}: Add note and example for using Intel MKL
b323407235 Find{BLAS,LAPACK}: Update docs to use modern conventions
ba30b94435 FindLAPACK: Remove extra indentation from a line

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2880
2019-01-31 11:08:19 -05:00
Brad King 1545b896bb Merge branch 'backport-FindLAPACK-typo' into release-3.13
Merge-request: !2897
2019-01-31 11:02:33 -05:00
Brad King 591899bc96 Merge topic 'FindLAPACK-typo'
cba5b22db3 Merge branch 'backport-FindLAPACK-typo'
6f5e4a53bc FindLAPACK: Distinguish check result variable name from FindBLAS
bb735025de Find{BLAS,LAPACK}: Drop unnecessary mark_as_advanced calls

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2897
2019-01-31 11:01:41 -05:00
Brad King cba5b22db3 Merge branch 'backport-FindLAPACK-typo'
Use the `-s ours` merge strategy to avoid conflicts.  Our side was
already fixed by commit 8b63265ea5 (FindLAPACK: Unify internal variables
related to MKL, 2018-11-18) as part of other work.
2019-01-31 10:59:53 -05:00
Brad King 6f5e4a53bc FindLAPACK: Distinguish check result variable name from FindBLAS
Since commit 192a9182f8 (FindLAPACK: MKL clean up and fix for windows,
2013-10-08, v3.0.0-rc1~538^2), FindLAPACK accidentally used FindBLAS's
`BLAS_` prefix for some of its check results.

Since commit 5b8f69ebe9 (FindBLAS: Detect implicitly linked BLAS
library, 2018-08-28, v3.13.0-rc1~150^2~2), FindBLAS stores a check
result in a plain `BLAS_WORKS` variable.  The typo in FindLAPACK happens
to cause a collision with that name.

The typo was already fixed in post-3.13 development as part of other
work in commit 8b63265ea5 (FindLAPACK: Unify internal variables related
to MKL, 2018-11-18).  Fix the typo in the 3.13 version of FindLAPACK to
avoid the collision.  Otherwise it could cause FindLAPACK to incorrectly
determine that a certain library combination does not work (or
incrrectly that it works).

Fixes: #18860
2019-01-31 10:59:25 -05:00
Brad King 9eaa6aa599 Merge topic 'autogen-qt-version-from-dirprops'
91d98542d2 Merge branch 'autogen-qt-version-from-dirprops-release' into autogen-qt-version-from-dirprops-master
062d21c36a Autogen: Read the Qt version from directory properties as well
17ac7c4024 Tests: add cases for providing Qt5Core_VERSION manually
2df6d69014 AutoGen: query Qt5 version from directory properties
b598dfb65e Tests: add cases for providing Qt5Core_VERSION manually

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2883
2019-01-31 10:58:23 -05:00
Brad King 5107a84d46 Merge topic 'restore-install-late-framework'
f64099cf5e Merge branch 'backport-restore-install-late-framework'
95210d027a macOS: Restore compatibility for setting FRAMEWORK after install()
d9dd68cb60 macOS: Restore compatibility for setting FRAMEWORK after install()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !2878
2019-01-31 10:50:38 -05:00
Brad King 9329e1e30e Merge topic 'readlistfile-stdstring'
0779bc9393 ReadListFile: Accept std::string argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2889
2019-01-31 10:45:56 -05:00
Vitaly Stakhovsky 0779bc9393 ReadListFile: Accept std::string argument 2019-01-31 09:27:54 -05:00
Brad King 8ea30a44d3 Merge topic 'unused-members'
ea9a376085 Remove unused 'class cmake' members

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2895
2019-01-31 09:27:06 -05:00
Brad King bb735025de Find{BLAS,LAPACK}: Drop unnecessary mark_as_advanced calls
Cache entries created by `try_compile` are already `INTERNAL`.
2019-01-31 09:11:03 -05:00
Brad King ea9a376085 Remove unused 'class cmake' members
* The `InTryCompile` member has been unused since commit 62854e9966
  (cmState: Move try_compile state from cmake class., 2015-04-11,
  v3.3.0-rc1~196^2~9).

* The `ConvertMessageType` and `IsMessageTypeVisible` members have been
  unused since commit 421012a330 (cmMessenger: Extract from cmake class,
  2016-01-28, v3.7.0-rc1~222^2~1).

* The `InitializeProperties` member has been unused since commit
  de722d7d63 (Move property initialization to cmState., 2015-04-06,
  v3.3.0-rc1~196^2~1).

Co-Author: Vitaly Stakhovsky <vvs31415@gitlab.org>
2019-01-31 07:15:55 -05:00
Kitware Robot de7eb1a3d0 CMake Nightly Date Stamp 2019-01-31 00:01:06 -05:00
Harry Mallon 20291e8e72 install: Fix stripping on macOS
On macOS the `strip` tool requires special arguments depending on the
type of binary to be stripped.

Fixes: #11367
Fixes: #16499
2019-01-30 22:00:16 +00:00
Brad King a624a3e1b3 Ninja: Use deps=gcc for Intel Compiler on Windows
Ninja 1.9 supports the depfile format generated by this compiler.
Use `deps = gcc` when the version of Ninja is new enough.

Unfortunately the Intel Compiler for Windows does not properly
escape spaces in paths written to a depfile so if there is a
space in the path we must still fall back to `deps = msvc`.

Fixes: #18855
2019-01-30 14:59:23 -05:00
Brad King f4f3b6b9af Ninja: Detect when ninja is new enough to support a multi-line depfile
Ninja 1.9 supports the multi-line depfile format generated by the
Intel Compiler for Windows.  Teach the global generator to detect
when the version is new enough to support this.
2019-01-30 14:58:21 -05:00
Brad King 699cd03212 Ninja: Drop unnecessary deptype customization infrastructure
Do not pass `CMAKE_NINJA_DEPTYPE_<LANG>` in place of `deps = gcc`.
If Ninja ever introduces a new dependency type we will likely need
to update CMake for it anyway.
2019-01-30 14:54:35 -05:00
Chuck Cranor 1293ed8507 ParseImplicitIncludeInfo: keep implicit incl. consistent when rerunning cmake
The first time you run cmake, it sets the implicit include path
to the value reported by the parser (and this value gets saved
in CMake${lang}Compiler.cmake).  But if you re-run cmake,
UnixPaths.cmake blindly appends an extra /usr/include to the
value saved in CMake${lang}Compiler.cmake.  That should not be
harmful in most cases, but we want later runs of cmake to be
consistent with the initial one.  Resolve using a solution
suggested by Brad King:

  - UnixPaths now sets the default implicit include path in a new
    variable named _CMAKE_${lang}_IMPLICIT_INCLUDE_DIRECTORIES_INIT
    This value is only used the first time cmake is run (by
    CMakeDetermineCompilerABI.cmake when it calls the implicit
    include parser).

  - if CMakeDetermineCompilerABI.cmake successfully calls the
    implicit include parser, it overwrites the value in
    _CMAKE_${lang}_IMPLICIT_INCLUDE_DIRECTORIES_INIT with the
    value returned by the parser

  - CMakeDetermineCompilerABI.cmake always sets
    CMAKE_${lang}_IMPLICIT_INCLUDE_DIRECTORIES to the above value
    of _CMAKE_${lang}_IMPLICIT_INCLUDE_DIRECTORIES_INIT

  - the final value of CMAKE_${lang}_IMPLICIT_INCLUDE_DIRECTORIES gets
    saved to CMake${lang}Compiler.cmake when it is regenerated after
    the compiler tests are done.

  - CMakeDetermineCompilerABI.cmake is only executed the first time cmake
    is run.  Additional runs of cmake directly load the implicit include
    path from the value saved in CMake${lang}Compiler.cmake (the parser
    and _INIT variable are not used).

The above depends on UnixPaths.cmake being loaded to set the _INIT value
before CMakeDetermineCompilerABI.cmake runs the implicit include parser.
2019-01-30 12:05:21 -07:00
Brad King eb2c23868f Merge topic 'tidy-use-equals-delete'
b05b778a2d clang-tidy: Use `= delete`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Rejected-by: vvs31415 <vstakhovsky@fastmail.com>
Merge-request: !2848
2019-01-30 14:00:58 -05:00
Regina Pfeifer 1180fc8780 OutputCallback: Accept std::string argument 2019-01-30 18:33:58 +01:00
Regina Pfeifer 3f9822ff6d clang-tidy: Silence use-equals-default warning
clang-tidy 7 has an option to suppress this warning in macros which
defaults to '1'.  Set the option to '0' and silence the warning
explicitly.
2019-01-30 17:51:07 +01:00
Brad King 1faebf33f4 Merge branch 'backport-autogen-qt-version-from-dirprops' into release-3.13
Merge-request: !2883
2019-01-30 11:34:24 -05:00
Ben Boeckel 91d98542d2 Merge branch 'autogen-qt-version-from-dirprops-release' into autogen-qt-version-from-dirprops-master
* autogen-qt-version-from-dirprops-release:
  AutoGen: query Qt5 version from directory properties
  Tests: add cases for providing Qt5Core_VERSION manually
2019-01-30 11:30:26 -05:00
Sebastian Holtermann 062d21c36a Autogen: Read the Qt version from directory properties as well
This lets AUTOGEN read the Qt version from directory properties as a fallback
when the Qt version variables are empty or unset.
2019-01-30 11:30:18 -05:00
Ben Boeckel 17ac7c4024 Tests: add cases for providing Qt5Core_VERSION manually 2019-01-30 11:30:18 -05:00
Taylor Holberton 198650ae73 set: warn if CACHE type is not recognized 2019-01-30 10:47:24 -05:00
Ben Boeckel 2df6d69014 AutoGen: query Qt5 version from directory properties
This allows functions which enable AutoGen to make the version variables
available at generate time.

See: #18732
2019-01-30 10:46:40 -05:00
Ben Boeckel b598dfb65e Tests: add cases for providing Qt5Core_VERSION manually 2019-01-30 10:46:40 -05:00
Brad King a37614667d Configure KWSys to honor CMake_NO_CXX_STANDARD
KWSys now computes a default `CMAKE_CXX_STANDARD` value if it is
not told what standard to use.  When `CMake_NO_CXX_STANDARD` is
enabled, tell KWSys not to do that.
2019-01-30 10:39:41 -05:00
Brad King e3b26f0004 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2019-01-30 (ce89cada)
2019-01-30 10:36:24 -05:00
KWSys Upstream c22e373a30 KWSys 2019-01-30 (ce89cada)
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit ce89cada1c48be31e6294a984b15c2c75b66eab0 (master).

Upstream Shortlog
-----------------

Brad King (2):
      5d92e8d9 Require CMake 3.1 or higher for KWSys
      6db3c607 Require C++11 or higher to compile KWSys
2019-01-30 10:36:23 -05:00
Brad King 8a7f93d000 Xcode: Fix object library builds with sanitizers enabled
Using `xcodebuild -enableAddressSanitizer YES ...` causes object files
to be placed in a different directory name.  Xcode provides a
placeholder for this that we can use in `OTHER_LDFLAGS` to reference
object files for linking the dependents of object libraries.  However,
CMake's features for installing and exporting object libraries depend on
knowing the real path with no placeholders.  For these cases, use the
default object directory.  Users will then have to choose between
sanitizers and the installation and export features, but both will work
individually.

Fixes: #16289
2019-01-30 10:28:40 -05:00
Brad King eff9c69740 Xcode: Place object library artifacts outside Objects-normal directory
The `CONFIGURATION_BUILD_DIR` value in the Xcode project file specifies
where to place the library artifact.  For object libraries we've used
the `Objects-normal` directory to hide away the `.a` that we otherwise
cannot stop Xcode from producing.  The parent of this directory is also
specific to the target and does not vary with Xcode's sanitizer
features, so move the artifact there.

Issue: #16289
2019-01-30 10:28:05 -05:00
Harry Mallon ec027aa64a Help: Add documentation for MSYS variable 2019-01-30 10:20:59 -05:00
Michael Hirsch, Ph.D be7b30f67e Find{BLAS,LAPACK}: Add note and example for using Intel MKL 2019-01-30 10:16:08 -05:00
Michael Hirsch, Ph.D b323407235 Find{BLAS,LAPACK}: Update docs to use modern conventions 2019-01-30 10:15:00 -05:00
Joachim Wuttke (o) 9d20fe014f Help: moved 7 variables to "internal" section 2019-01-30 16:13:13 +01:00
Joachim Wuttke (o) dfb2d6178e Help: "internal variables" instead of "obsolete", with some explanatory prose 2019-01-30 16:13:10 +01:00
Roger Leigh c68465f790 FindXercesC, FindXalanC: Don't examine non-existent version headers 2019-01-30 14:20:06 +00:00
Michael Hirsch, Ph.D ba30b94435 FindLAPACK: Remove extra indentation from a line 2019-01-30 08:20:10 -05:00
Brad King 748d024551 Merge topic 'fetchcontent-reduce-boilerplate'
a94355c7b7 FetchContent: Add new command FetchContent_MakeAvailable()
611d5274de Sphinx: Add limited support for nested variables in docs
1a07e1b47d FetchContent: Trivial doc corrections

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2830
2019-01-30 08:13:42 -05:00