Commit Graph

5307 Commits

Author SHA1 Message Date
Timo Rothenpieler bcb0e3872b FindThreads: introduce an imported target to link to
This not only holds the library, but can also hold compiler flags needed, e.g.
the -pthread flag preferred by gcc on some platforms. There was no clean way
to get that compiler flag from the module until now.
2014-10-08 17:57:34 +02:00
Rolf Eike Beer 46368eddfd FindThreads: move checking of the -pthread compiler flag into a macro
This allows a following commit to introduce a switch to prefer that check over
searching for the explicit library names without breaking backward
compatibility.
2014-10-06 21:30:09 +02:00
Brad King e0fef85c7a Merge topic 'FindThreads-macro'
94a061d3 FindThreads: use a macro for the repetitive thread library checks
2014-10-06 09:41:16 -04:00
Rolf Eike Beer 94a061d372 FindThreads: use a macro for the repetitive thread library checks 2014-10-03 23:20:07 +02:00
Brad King 0dd07f1dfe Merge topic 'FPHSA-include'
3670c6a4 fix inclusion of FPHSA
2014-10-03 15:10:18 -04:00
Brad King 87eb1ed20b Merge topic 'FindThreads-dir'
cbd5db64 FindThreads: search test source relative to module
2014-10-03 15:10:16 -04:00
Brad King 8ec00743a6 Merge topic 'FindLua-exact'
c4a56b9c FindLua: fix wrong version list if EXACT is given
2014-10-03 15:10:14 -04:00
Rolf Eike Beer 3670c6a41c fix inclusion of FPHSA
Make sure these modules also include exactly the version shipped with CMake.
2014-10-02 23:44:39 +02:00
Timo Rothenpieler cbd5db6485 FindThreads: search test source relative to module
This is a simpler way to reference the location of FindThreads.cmake.
2014-10-02 22:13:44 +02:00
Rolf Eike Beer c4a56b9c1c FindLua: fix wrong version list if EXACT is given 2014-10-02 21:41:43 +02:00
Brad King 5b5e80e728 FindVTK: Drop this ancient compatibility module
The FindVTK module only existed to help find_package(VTK) calls work in
old projects written to use "USE_VTK_FILE" instead of "VTK_USE_FILE".
Drop it to allow find_package(VTK) calls to search for VTKConfig.cmake
directly.
2014-10-02 09:28:02 -04:00
Brad King fd6fa65726 FindITK: Drop this ancient compatibility module
The FindITK module only existed to help find_package(ITK) calls work in
old projects written to use "USE_ITK_FILE" instead of "ITK_USE_FILE".
Drop it to allow find_package(ITK) calls to search for ITKConfig.cmake
directly.
2014-10-02 09:28:02 -04:00
Brad King f640b2a41f Merge topic 'cleanup-CMP0054'
69fe5920 GenerateExportHeader: Avoid if() quoted auto-dereference
2014-09-30 11:29:09 -04:00
Brad King 40ae354ebb Merge topic 'GNUInstallDirs-typo'
33f03129 Fix typo in Modules/GNUInstallDirs.cmake (#15176)
2014-09-30 11:29:04 -04:00
Brad King 34d035e70e Merge topic 'vs-nsight-tegra-generator'
df84281d Help: Add notes for topic 'vs-nsight-tegra-generator'
69e198dc VS: Generate Nsight Tegra project revision number
5365c9ac VS: Map Nsight Tegra file types in .vcxproj files
178f56a5 VS: Fix Tegra-Android platform linking of libraries by name
7115702f Tests: Add test for VS Nsight Tegra generator support
a6289499 VS: Generate ANDROID_GUI executables as app packages
c12e4699 Add 'ANDROID_API' target property to set Android Target API
9a4df52a Add 'ANDROID_GUI' target property to mark Android applications
16569abf cmTarget: Track internally whether platform is Android
ef0fd4f0 VS: Teach vcxproj generation about the Tegra-Android platform
d09b60f5 VS: Detect compiler id of Nsight Tegra-Android toolchains
2f071466 VS: Teach VS >= 10 to recognize CMAKE_SYSTEM_NAME 'Android'
2014-09-30 08:46:27 -04:00
Brad King 178f56a579 VS: Fix Tegra-Android platform linking of libraries by name
Nsight Tegra Visual Studio Edition handles prefixing of library names
with '-l' automatically, so teach the generator not to do so.

Reported-by: Mourad Boufarguine <mourad@boufarguine.name>
2014-09-30 08:45:35 -04:00
Brad King d09b60f563 VS: Detect compiler id of Nsight Tegra-Android toolchains
Teach CMakeDetermineCompilerId to recognize the Tegra-Android platform
and generate a test project for Nsight Tegra tools.  Locate the full
path to CMAKE_<LANG>_COMPILER by computing it within the test project
build environment.

Also teach CMakeFindBinUtils that this variant of the Visual Studio
generator uses UNIX-like instead of MS-like archiving and linking tools.
2014-09-29 16:05:53 -04:00
Brad King 69fe5920b3 GenerateExportHeader: Avoid if() quoted auto-dereference
When testing CMAKE_CXX_COMPILER_ID values with if(MATCHES),
do not explicitly dereference or quote CMAKE_CXX_COMPILER_ID.
We want if() to auto-dereference the variable and not its value.
2014-09-29 15:53:38 -04:00
David Coppa 33f031295c Fix typo in Modules/GNUInstallDirs.cmake (#15176)
Commit d4fdd9c189 ("GNUInstallDirs: use the
proper default for info and man paths on OpenBSD") introduced a typo.
2014-09-29 18:25:25 +02:00
Adam Strzelecki 84e3fde94d FindCUDA: Avoid if() auto-dereference in string comparisons
This silences possible CMP0054 warnings.
2014-09-24 10:10:42 -04:00
Brad King 405b92d031 Merge topic 'FindGettext-doc-update'
3919f254 FindGettext: Fix name of GETTEXT_PROCESS_POT_FILE in docs (#15162)
2014-09-22 09:13:14 -04:00
Brad King 3303b5f8b4 Merge topic 'FindProtobuf-depend-protoc'
e380d7c5 FindProtobuf: Make outputs depend on protoc executable
2014-09-22 09:13:07 -04:00
Brad King 2f3985c6a5 Merge topic 'FindOpenSceneGraph-pieces-not-found'
b683da3e FindOpenSceneGraph: Do not add unfound OSG libs if not required
2014-09-22 09:13:05 -04:00
Brad King d4713b84b7 Merge topic 'clang-compile-options-cxx14'
49b8140e Clang: Enable c++14 dialect flag with Clang 3.5.
0b80fc35 Clang: Don't overwrite c++11 compile option value with c++14 flag.
2014-09-22 09:12:56 -04:00
Brad King f28ebcbf1b Merge topic 'cleanup-CMP0054'
fa7d47ac Tests: Fix CMP0054 warnings
3b5ea54a CheckPrototypeDefinition: Avoid if() auto-dereference
c9b301cd ExternalProject: Fix CMP0054 warning in _ep_parse_arguments
2014-09-22 09:12:53 -04:00
Brad King 5eaa3e9025 Merge topic 'ExternalProject-retry'
30a94eec ExternalProject: Fix download retry logic
2014-09-22 09:12:50 -04:00
Brad King 3919f254e8 FindGettext: Fix name of GETTEXT_PROCESS_POT_FILE in docs (#15162)
Rename GETTEXT_PROCESS_POT to GETTEXT_PROCESS_POT_FILE.

Patch-by: maahnat@gmail.com
2014-09-18 09:39:49 -04:00
Michael Hanselmann e380d7c5ba FindProtobuf: Make outputs depend on protoc executable
After updating from Protocol Buffers 2.5.0 to 2.6.0 compilation of the
generated source failed: "This file was generated by an older version of
protoc which is incompatible with your Protocol Buffer headers. Please
regenerate this file with a newer version of protoc.".

Turns out the source and headers generated by way of
FindProtobuf.cmake:PROTOBUF_GENERATE_CPP aren't updated. Adding a
dependency on the compiler executable fixes this issue.
2014-09-18 09:16:27 -04:00
Mattias Helsing b683da3efa FindOpenSceneGraph: Do not add unfound OSG libs if not required 2014-09-18 09:06:58 -04:00
Stephen Kelly 49b8140e5d Clang: Enable c++14 dialect flag with Clang 3.5. 2014-09-17 14:57:07 +02:00
Stephen Kelly 0b80fc350a Clang: Don't overwrite c++11 compile option value with c++14 flag. 2014-09-17 14:56:16 +02:00
Brad King 3b5ea54a27 CheckPrototypeDefinition: Avoid if() auto-dereference
Convert from the old if(MATCHES) hack to if(DEFINED) to check whether
the result variable is already set.
2014-09-16 09:04:20 -04:00
Matt McCormick c9b301cd71 ExternalProject: Fix CMP0054 warning in _ep_parse_arguments
Fix the CMP0054 warning:

 CMake Warning (dev) at .../Modules/ExternalProject.cmake:242 (if):
   Policy CMP0054 is not set: Only interpret if() arguments as variables or
   keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
   details.  Use the cmake_policy command to set the policy and suppress this
   warning.

   Quoted keywords like "COMMAND" will no longer be interpreted as keywords
   when the policy is set to NEW.  Since the policy is not set the OLD
   behavior will be used.
 Call Stack (most recent call first):
   .../Modules/ExternalProject.cmake:1938 (_ep_parse_arguments)
   CMakeLists.txt:5 (ExternalProject_Add)

by avoiding a reference to "${key}" or "COMMAND" in quotes.
2014-09-15 15:56:37 -04:00
Brad King b234836637 Merge topic 'vs-generator-platform'
be6a555d Tests: Test setting a generator platform in a toolchain file
d506fee8 Tests: Use -A option to pass generator platform selection
11c9ddd6 ExternalProject: Use -A option to pass generator platform
29bd843e CTest: Use -A option to pass generator platform selection
eb7d8156 cmake: Add -A option to specify a generator platform
2014-09-15 10:27:38 -04:00
Brad King 9edf6903e6 Merge topic 'if-sanity'
858d5a0b Fix if() checks of CMAKE_SYSTEM_NAME on Cygwin
e177e7af FPHSA: Avoid if() dereferencing of quoted variable
425acc52 cmcurl: Use if(DEFINED) to simplify conditions
cede5cbd libarchive: Avoid depending on if() to dereference a quoted variable
2d97178b FindGTK2: Avoid depending on if() to dereference a quoted variable
0b12815d Modules/Test*.cmake: Use if(DEFINED) to simplify conditions
188a1f23 If: Introduce policy CMP0054 - don't dereference quoted variables in if()
b900c1cc If: Extract cmConditionEvaluator from if() implementation
2014-09-15 10:27:36 -04:00
Brad King 11c9ddd694 ExternalProject: Use -A option to pass generator platform
This is less verbose than defining CMAKE_GENERATOR_PLATFORM.
2014-09-15 10:26:59 -04:00
Ruslan Baratov 30a94eecdb ExternalProject: Fix download retry logic
Do not check file's hash in download script.  If hash will not match
command ``file(DOWNLOAD ...)`` will fail with FATAL_ERROR, ``cmake -P``
will exit with unsuccessful code, and the build will stop.  Leave hash
checking to the existing implementation in the verify step.
2014-09-15 09:08:33 -04:00
Brad King e177e7affb FPHSA: Avoid if() dereferencing of quoted variable
Legacy invocations may pass a variable name where "DEFAULT_MSG" belongs.
When comparing FPHSA_FAIL_MESSAGE to "DEFAULT_MSG", use a leading "x" on
both sides to avoid mistaking the value of the message for a variable
name.
2014-09-11 21:23:24 +02:00
Brad King 2d97178b30 FindGTK2: Avoid depending on if() to dereference a quoted variable
Explicitly dereference GTK2_${_var}CONFIG_INCLUDE_DIR and
GTK2_${_var}_INCLUDE_DIR when comparing their values.
2014-09-11 21:23:24 +02:00
Brad King 0b12815dc2 Modules/Test*.cmake: Use if(DEFINED) to simplify conditions
Replace old hacks of the form 'if("${VAR}" MATCHES "^${VAR}$")'
with the much simpler 'if(NOT DEFINED ${VAR})'.
2014-09-11 21:23:24 +02:00
Brad King b36a795163 Merge topic 'doc-check-results-cached'
908c7439 Help: Document that the CHECK_* macros create cache variables
2014-09-11 12:55:10 -04:00
Brad King efe093dcfd Merge topic 'fix-gnu-hurd-host-detection'
89d7a5a4 Fix CMAKE_HOST_SYSTEM_PROCESSOR detection on GNU/Hurd (#15147)
2014-09-11 12:55:05 -04:00
Sebastian Leske 908c74399a Help: Document that the CHECK_* macros create cache variables
Otherwise callers may expect to be able to re-use result variables.
2014-09-11 08:55:26 -04:00
Brad King 0a92b23c52 Merge topic 'vs-generator-platform'
09c8ad99 enable_language: Initialize system-specific generator info only once
09ab207c Tests: Add generator platform support
6944997b ExternalProject: Propagate the generator platform
8d332091 CTest: Add options to set generator platform
b97736a2 VS: Implement CMAKE_GENERATOR_PLATFORM for VS >= 8
0f1f1271 CMake: Add CMAKE_GENERATOR_PLATFORM option
4f7d0c42 Help: Document CMAKE_VS_PLATFORM_NAME variable
68d4280a VS: Refactor internal default platform name selection
ad2a4776 cmGlobalVisualStudio10Generator: Re-order some methods
03b7b6cd cmGlobalGenerator: Call SetGeneratorToolset even for empty toolset
2014-09-10 11:23:22 -04:00
Brad King 81b2a250dc Merge topic 'FindIce-updates'
2131aedd FindIce: Respect Ice_FIND_QUIETLY when printing messages
d5047ca1 FindIce: Remove unneeded search path modification
2014-09-10 11:23:17 -04:00
Felix Geyer 89d7a5a417 Fix CMAKE_HOST_SYSTEM_PROCESSOR detection on GNU/Hurd (#15147)
On Debian GNU/Hurd 'uname -p' prints "unknown", so use 'uname -m'
instead.
2014-09-10 09:06:33 -04:00
Roger Leigh 2131aeddaa FindIce: Respect Ice_FIND_QUIETLY when printing messages 2014-09-09 15:19:00 -04:00
Roger Leigh d5047ca1b2 FindIce: Remove unneeded search path modification
Drop code adding redundant "/opt/Ice-${ice_version}" paths.
2014-09-09 11:45:51 -04:00
Brad King 7b2e3cc63b Merge topic 'use-consistent-regex-for-info-strings'
3e84e78c Use a more reliable regex for extracting binary INFO strings
2014-09-09 11:23:34 -04:00
Brad King 371f06d005 Merge topic 'ExternalProject-download-loop'
9f49ac3d ExternalProject: Avoid infinite loop on file download hash mismatch
2014-09-09 11:23:30 -04:00