Commit Graph

8727 Commits

Author SHA1 Message Date
Brad King 98dfdab19c FindLua: Search for all library names in each path
Add the `NAMES_PER_DIR` option to our `find_library` call so that all
names are considered in each path as we proceed through the search.
This allows locally-built unversioned libraries to be found before
versioned system libraries if they appear earlier in the set of paths to
be searched.

Suggested-by: Alan W. Irwin <irwin@beluga.phys.uvic.ca>
2018-09-25 09:32:45 -04:00
Brad King 3523990f7b Merge topic 'bundleutilities-policy'
b69159324a Help: Add release notes for new BundleUtilities policy
eedd91ab08 BundleUtilities: Disallow inclusion at configure time
fd28ea35ca Help: Add note for BundleUtilities usage
3925407e76 Help: Convert BundleUtilities help to block-style comment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2379
2018-09-20 09:38:04 -04:00
Brad King 22db0d5c6e Merge topic 'FindCUDA-filter-compute-capabilities'
bfd93b73a0 FindCUDA: Filter unrelated content in compute capabilities output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2400
2018-09-20 09:36:31 -04:00
Brad King 9964808108 Merge topic 'FindCUDA-ccbin-env'
8085799ce3 FindCUDA: Add option to set CUDA_HOST_COMPILER via environment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2391
2018-09-20 09:35:45 -04:00
Kyle Edwards eedd91ab08 BundleUtilities: Disallow inclusion at configure time
This commit adds a new CMake policy, CMP0080, which prohibits the
inclusion of BundleUtilities at configure time. The old behavior is
to allow the inclusion.
2018-09-19 11:23:08 -04:00
Kyle Edwards fd28ea35ca Help: Add note for BundleUtilities usage
The macros defined in BundleUtilities are intended to be used from
an install() rule rather than at configure time. Add a note clarifying
this.
2018-09-19 11:23:08 -04:00
Kyle Edwards 3925407e76 Help: Convert BundleUtilities help to block-style comment 2018-09-19 11:23:08 -04:00
Soumith Chintala bfd93b73a0 FindCUDA: Filter unrelated content in compute capabilities output
Working around CUDA-level nvrm_gpu log statements to stdout on some
embedded platforms (ex. Drive PX2).

See-also: https://github.com/pytorch/pytorch/issues/11518#issue-359113249
2018-09-19 10:55:02 -04:00
peterjc123 8085799ce3 FindCUDA: Add option to set CUDA_HOST_COMPILER via environment
Re-use the `CUDAHOSTCXX` environment variable from the first-class
CUDA language support to specify the host compiler for FindCUDA.
2018-09-18 11:41:47 -04:00
Brad King 7162630bee Merge topic 'vs-ipo'
bef80e6623 VS: Do not specify incremental linking if LTCG is enabled
567fabe88e IPO: INTERPROCEDURAL_OPTIMIZATION (LTCG) for Visual Studio

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2363
2018-09-18 11:22:41 -04:00
Brad King f9eac2ae4b Merge topic 'FindPython-updates'
329f6aeca5 FindPython*: Windows: add facility to select lookup order for registry.
ffb560adc9 FindPython*: MacOS: Fix erroneous handling of Frameworks.
b0b53921ce FindPython: clean-up lookup names strategy

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2369
2018-09-18 11:15:13 -04:00
Niels Dekker 567fabe88e IPO: INTERPROCEDURAL_OPTIMIZATION (LTCG) for Visual Studio
Add IPO support for Visual Studio (which is referred to by VS as
"Link Time Code Generation" and "Whole Program Optimization"), for
VS version >= 10.  This allows CMake/VS users to enable IPO by setting
property `INTERPROCEDURAL_OPTIMIZATION`.

Fixes: #16748
2018-09-17 10:53:10 -04:00
Nikolaus Wittenstein 6209434b44 FindCUDA: Fix "alphabetical" typo 2018-09-14 14:53:03 -04:00
Brad King 88e6e35358 Merge topic 'module_policy_protection'
8ede35523e IN_LIST: Ensure policy allows if(IN_LIST) if used by a module
e549e31f79 CMakeIOSInstallCombined: Prevent policy leakage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2375
2018-09-14 13:23:10 -04:00
Brad King cff5151822 Merge topic 'boost-notfound'
ee300dc25d FindBoost: Suppress imported targets warning if Boost was not found

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2376
2018-09-14 13:22:18 -04:00
Roger Leigh ee300dc25d FindBoost: Suppress imported targets warning if Boost was not found
Fixes: #18330
2018-09-12 14:44:57 +01:00
Brad King 1c1a1e08e8 Merge topic 'IAR_6_50_6_fix'
8fdf08c097 IAR: Fix compiler id, version, and arch detection on 6.50.6

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2371
2018-09-12 09:37:58 -04:00
Brad King 8bf5c2326e Merge topic 'FindDoxygen-CMP0057'
e8213404ce FindDoxygen: Ensure policy settings allow use of IN_LIST

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2373
2018-09-12 09:35:45 -04:00
Marc Chevrier 329f6aeca5 FindPython*: Windows: add facility to select lookup order for registry.
Fixes: #18302
2018-09-12 10:04:05 +02:00
Marc Chevrier ffb560adc9 FindPython*: MacOS: Fix erroneous handling of Frameworks.
Fixes: #18204
2018-09-12 10:04:04 +02:00
Marc Chevrier b0b53921ce FindPython: clean-up lookup names strategy 2018-09-12 10:04:04 +02:00
Craig Scott 8ede35523e IN_LIST: Ensure policy allows if(IN_LIST) if used by a module 2018-09-12 14:50:16 +08:00
Craig Scott e549e31f79 CMakeIOSInstallCombined: Prevent policy leakage
Functions do not introduce a new policy scope, so
surround these policy changes with a push-pop to
prevent them from affecting the caller.
2018-09-12 14:44:59 +08:00
Brad King e8213404ce FindDoxygen: Ensure policy settings allow use of IN_LIST
In commit v3.9.0-rc1~55^2 (Improve Doxygen support, 2017-04-10)
use of the `IN_LIST` condition was added, but this is only supported
when policy CMP0057 is set to NEW.  Add a policy scope around the
module and enable the policy within it.  Otherwise it works only
in projects that happen to enable the policy.

Fixes: #18361
2018-09-11 15:52:43 -04:00
Daniel Schürmann 8fdf08c097 IAR: Fix compiler id, version, and arch detection on 6.50.6
The IAR 6.50.6 compiler places extra/truncated copies of the
compiler id `INFO:` strings into binaries with a prefix like
`?<Constant "`.  Teach CMakeDetermineCompilerId to ignore them.

Fixes: #18333
2018-09-11 10:43:03 -04:00
Craig Scott 344eb9c8dc Merge topic 'gtest_add_tests-empty-file'
31c82143bf GoogleTest: gtest_add_tests() fails if any source file is empty
d6b06d8d87 GoogleTest: Modify test to verify that empty files can be scanned

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2342
2018-09-11 09:42:31 -04:00
Brad King 528d7625b8 Merge topic 'iar-fail-early'
a26ebb894b IAR: Abort if compiler version or target architecture is not detected

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2353
2018-09-11 08:31:19 -04:00
Brad King f13d4b1077 Merge topic 'replace-os-x-name-with-macos'
ab2e35d614 Replace occurrences of "Mac OS X" with "macOS" in comments
fc1602456a Help: Replace occurrences of "Mac OS X" with "macOS"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Gregor Jasny <gjasny@googlemail.com>
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Merge-request: !2351
2018-09-11 08:28:05 -04:00
Brad King dcbad14d23 Merge topic 'FindMPI-restore-flags-string'
e374b9f1eb FindMPI: Restore MPI_<LANG>_COMPILE_FLAGS as a command-line string

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Christoph Junghans <junghans@votca.org>
Reviewed-by: Christian Pfeiffer <cpfeiffer@live.de>
Merge-request: !2368
2018-09-11 08:18:55 -04:00
Brad King e374b9f1eb FindMPI: Restore MPI_<LANG>_COMPILE_FLAGS as a command-line string
Refactoring in commit v3.10.0-rc1~103^2~2 (FindMPI: Modernization from
ground up, 2017-04-25) accidentally left this variable set as a copy of
the `;`-list in `MPI_<LANG>_COMPILE_OPTIONS`, but the flags variable is
documented as a command-line string.  Restore it now.

Fixes: #18349
2018-09-10 14:33:29 -04:00
Daniel Schürmann a26ebb894b IAR: Abort if compiler version or target architecture is not detected
If these are not detected then we cannot support the IAR compiler.
Fail early with an explicit message instead of silently proceeding
and getting strange errors.

Issue: #18333
2018-09-10 09:03:47 -04:00
Brad King 11de1492d3 Merge topic 'FindOpenSceneGraph-debug'
192e552099 FindOpenSceneGraph: Fix find in Debug

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2341
2018-09-10 08:01:21 -04:00
Brad King 62b56b5ec9 Merge topic 'FindSubversion-wc-info-error'
68d015fc94 FindSubversion: Add Subversion_WC_INFO option to suppress failures

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2292
2018-09-10 07:59:42 -04:00
Brad King d6853ef405 Merge topic 'extra-generator-split-arg1'
0239b586bd Extra Generator: Fix handling of CMAKE_<LANG>_COMPILER_ARG1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2352
2018-09-10 07:58:10 -04:00
Bartosz Kosiorek ab2e35d614 Replace occurrences of "Mac OS X" with "macOS" in comments
Apple's main Operating system changed their name from OS X to macOS:

    https://www.engadget.com/2016/06/13/os-x-is-now-macos/

Revise source comments accordingly.
2018-09-10 13:34:09 +02:00
Alessandro 31c82143bf GoogleTest: gtest_add_tests() fails if any source file is empty
Fixes #18321
2018-09-10 16:21:48 +08:00
Craig Scott 49cb2a504d Merge topic 'ExternalProject-check-explicit-include'
df1ddeec12 ExternalProject: Report error if local variables are not defined

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !2281
2018-09-07 19:40:24 -04:00
Jason Heeris 68d015fc94 FindSubversion: Add Subversion_WC_INFO option to suppress failures
Subversion fails when the directory is not actually under its control.
Allow projects to tolerate this case optionally.

Fixes: #18264
2018-09-07 16:17:28 -04:00
Adam Oleksy 0239b586bd Extra Generator: Fix handling of CMAKE_<LANG>_COMPILER_ARG1
The "arg1" value is a command-line string so we must parse it to get
separate arguments for `execute_process`.
2018-09-07 16:11:11 -04:00
Brad King f782759ed0 Merge topic 'CMakeFindBinUtils-fix-not-cached'
53bae4cc5e CMakeFindBinUtils: Fix use with non-cached tool settings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2355
2018-09-06 10:00:25 -04:00
Brad King 488faed3ce Merge topic 'FindMatlab-no-CMAKE_CL_64'
bfe883af60 FindMatlab: Remove erroneous duplicate code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2354
2018-09-06 09:56:36 -04:00
Jean-Christophe Fillion-Robin df1ddeec12 ExternalProject: Report error if local variables are not defined
Since in some situations, ExternalProject module may be included in
a sub-directory, functions will be available in the global scope but
local variables like "_ep_keywords_<keyword>" will not be defined, this
commit checks and reports an error indicating that the ExternalProject
module must be explicitly included before using any of the ExternalProject_*
functions  that require the module's inclusion within the current scope
or above.

Co-authored-by: Pablo Hernandez <pablo.hernandez@kitware.com>
Co-authored-by: Craig Scott <craig.scott@crascit.com>
2018-09-06 23:02:24 +10:00
Cyril Boucher 192e552099 FindOpenSceneGraph: Fix find in Debug
As of now, it is not possible to find OpenSceneGraph in Debug because the only
variable find_package_handle_standard_args is checking is ${module}_LIBRARY
while the debug library is in ${module}_LIBRARY_DEBUG. The refactoring gets rid
of the old behaviour to replace with a call to select_library_configurations
which will populated ${module}_LIBRARY accordingly.

[Modules/Findosg_functions.cmake Modules/FindOpenThreads.cmake]
- Include SelectLibraryConfigurations module
- Modify the name of the variable that will be populated by the first
  find_library to ${MODULE}_LIBRARY_RELEASE so that SelectLibraryConfigurations
can act on it
- Add call to select_library_configurations after attempting to find libraries
  in debug and release
2018-09-06 09:32:56 +02:00
Bartosz Kosiorek fc1602456a Help: Replace occurrences of "Mac OS X" with "macOS"
Apple's main Operating system changed their name from OS X to macOS:

    https://www.engadget.com/2016/06/13/os-x-is-now-macos/

Revise documentation accordingly.
2018-09-05 16:10:49 -04:00
Brad King 3dd926f4a8 Merge branch 'FindMatlab-no-CMAKE_CL_64' into release-3.12
Merge-request: !2354
2018-09-05 15:20:03 -04:00
Raffi Enficiaud bfe883af60 FindMatlab: Remove erroneous duplicate code
This was left accidentally when resolving merge conflicts between
previous changes.

Fixes: #18221
2018-09-05 15:19:50 -04:00
Brad King 53bae4cc5e CMakeFindBinUtils: Fix use with non-cached tool settings
If a project or toolchain file hard-codes a tool location such as
`CMAKE_LINKER` with a plain `set()` then the value will be stored
in compiler information files but not cached.  If the value is
not cached then we should not mark it as advanced because doing
so will initialize an empty cache entry.

Fixes: #18315
2018-09-05 15:03:02 -04:00
Brad King cb800ebb83 Merge topic 'FindBoost-old-context'
9a800c12fc FindBoost: Fix context discovery for 1.60 and below

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2348
2018-09-05 14:32:27 -04:00
Brad King 6be7097dbe Merge branch 'FindBoost-old-context' into release-3.12
Merge-request: !2348
2018-09-04 12:43:12 -04:00
Igor Kostenko 9a800c12fc FindBoost: Fix context discovery for 1.60 and below
* `all.hpp` was removed in 1.68:
  https://github.com/boostorg/context/commit/2e37599461912cc1679f106a25456a493f7f0b27
* `fcontext.hpp` was moved to detail in 1.61:
  https://github.com/boostorg/context/commit/c2f0dfdf2608c1ebaa2229fa6f358fe6aa103561

Fixes: #18126
2018-09-04 12:41:36 -04:00