Commit Graph

4197 Commits

Author SHA1 Message Date
Brad King 526cbafa4e Merge topic 'findqt4-withqt5'
252bfd3 FindQt4: If Qt5 is in CMAKE_PREFIX_PATH, be sure to find Qt4 includes.
2013-03-18 09:42:06 -04:00
Brad King 68e86af6f7 Merge topic 'fix-FPHSA-match'
78e6217 FPHSA: Fix FOUND_VAR check to work with if() auto-dereference
2013-03-18 09:41:59 -04:00
Brad King 758651f124 Merge topic 'set-QT_MAJOR_VERSION'
4aa10cd FindQt4: Set the INTERFACE_QT_MAJOR_VERSION for Qt4::QtCore
2013-03-18 09:41:50 -04:00
Brad King bb260f0927 Merge topic 'set-Qt4_FOUND'
28d14f9 FindQt4: Set the Qt4_FOUND variable if Qt4 is found
2013-03-18 09:41:41 -04:00
Brad King a402bc4d5a Merge topic 'TI_DSP_to_TI'
27e6f6e TI compiler: add automatic detection of prefix and suffixes
b301586 rename TI_DSP toolchain to TI, since it works also for the ARM compiler
12b25df Determine C/CXX/Fortran compiler: fix indentation
7baa55a Determine C/CXX/Fortran compiler: minor restructuring
2013-03-18 09:41:37 -04:00
Brad King 253d7b6fe4 Merge topic 'FindCUDA.cmake/SeparableCompilation'
b6e9b8f FindCUDA: Use the PRE_LINK mode only for MSVC >= 10
2013-03-18 09:41:28 -04:00
Stephen Kelly 78e6217f31 FPHSA: Fix FOUND_VAR check to work with if() auto-dereference
Otherwise, it seems to match on the content of the variable.
2013-03-18 09:35:07 -04:00
Stephen Kelly 4aa10cd6d6 FindQt4: Set the INTERFACE_QT_MAJOR_VERSION for Qt4::QtCore
With a similar commit in Qt 5, this will error at CMake time if
an attempt is made to use

 target_link_libraries(foo Qt4::QtCore Qt5::Core)
2013-03-18 09:31:33 -04:00
Stephen Kelly 28d14f9f13 FindQt4: Set the Qt4_FOUND variable if Qt4 is found
Provide the old QT4_FOUND for compatibility.
2013-03-18 09:30:47 -04:00
Clinton Stimpson 252bfd3379 FindQt4: If Qt5 is in CMAKE_PREFIX_PATH, be sure to find Qt4 includes. 2013-03-18 09:06:53 -04:00
Alex Neundorf 27e6f6ef39 TI compiler: add automatic detection of prefix and suffixes
The TI cross compilers are named e.g. cl6x or armcl, the accompanying
strip and ar have the same prefixes/suffixes.

Alex
2013-03-14 21:48:09 +01:00
Alex Neundorf b3015862e5 rename TI_DSP toolchain to TI, since it works also for the ARM compiler
Additionally, look for a special ar and strip

Alex
2013-03-14 21:47:59 +01:00
Alex Neundorf 12b25df882 Determine C/CXX/Fortran compiler: fix indentation
Alex
2013-03-14 21:47:49 +01:00
Alex Neundorf 7baa55ac0b Determine C/CXX/Fortran compiler: minor restructuring
No functional changes, only change the way the if()-condition works,
to make it easier to add more cases.

Alex
2013-03-14 21:47:38 +01:00
Brad King 192ef7101e Merge topic 'aix-pic'
5c8c1d6 XL: Use -qpic for position independent code (#14010)
2013-03-14 10:00:35 -04:00
James Bigler b6e9b8f127 FindCUDA: Use the PRE_LINK mode only for MSVC >= 10
Use normal custom command dependencies by default.  Use the PRE_LINK
approach only to work around what seems to be a bug in msbuild handling
of custom build rules that chain together.
2013-03-14 09:57:15 -04:00
Brad King 5c8c1d624d XL: Use -qpic for position independent code (#14010)
According to XL C/C++ V9.0 documentation the default for -qpic/-qnopic
is platform-dependent.  It won't hurt to add the option on platforms
where it is the default, so always add it when we want position
independent code.
2013-03-13 13:49:48 -04:00
Brad King 18029b1e77 Merge topic 'findqt4-withqt5'
161a793 FindQt4: Fix QT_QMAKE{_QMAKE => }_EXECUTABLE typo
2013-03-13 13:37:26 -04:00
Brad King 8128940ac1 Merge topic 'cleanup-early-include-CTest-failure'
d90f49b CTest: Fail early without PROJECT_BINARY_DIR (#14005)
2e1c2bd build_command: Fail early without CMAKE_MAKE_PROGRAM (#14005)
4e5cb37 Refactor RunCMake.build_command test to allow more cases
2013-03-13 13:34:36 -04:00
Brad King edf200a50b Merge topic 'ExternalData-escape-semicolons'
1823ab4 ExternalData: Preserve escaped semicolons during argument expansion
2013-03-13 13:34:06 -04:00
Brad King 161a793781 FindQt4: Fix QT_QMAKE{_QMAKE => }_EXECUTABLE typo
The parent commit accidentally referenced QT_QMAKE_QMAKE_EXECUTABLE
which does not exist.  Use QT_QMAKE_EXECUTABLE instead.

Reported-by: m.hergarden@euphoria-it.nl
2013-03-13 07:54:36 -04:00
Brad King d90f49b894 CTest: Fail early without PROJECT_BINARY_DIR (#14005)
Do not use PROJECT_BINARY_DIR before it is defined.  If it is not
defined when needed, fail with an error message suggesting that the
project() command be invoked first.
2013-03-12 18:20:44 -04:00
Brad King 1823ab4d76 ExternalData: Preserve escaped semicolons during argument expansion
The CMake language implicitly flattens lists so a ";" in a list element
must be escaped with a backslash.  List expansion removes backslashes
escaping semicolons to leave raw semicolons in the values.  Teach
ExternalData_Add_Test and ExternalData_Expand_Arguments to re-escape
semicolons found in list elements so the resulting argument lists work
as if constructed directly by the set() command.

For example:

  ExternalData_Add_Test(Data NAME test1 COMMAND ... "a\\;b")
  ExternalData_Expand_Arguments(Data args2 "c\\;d")
  add_test(NAME test2 COMMAND ... ${args2})

should be equivalent to

  set(args1 "a\\;b")
  add_test(NAME test1 COMMAND ... ${args1})
  set(args2 "c\\;d")
  add_test(NAME test2 COMMAND ... ${args2})

which is equivalent to

  add_test(NAME test1 COMMAND ... "a;b")
  add_test(NAME test2 COMMAND ... "c;d")

Note that it is not possible to make ExternalData_Add_Test act exactly
like add_test when quoted arguments contain semicolons because the CMake
language flattens lists when constructing function ARGN values.  This
re-escape approach at least allows test arguments to have semicolons.

While at it, teach ExternalData APIs to not transform "DATA{...;...}"
arguments because the contained semicolons are non-sensical.

Suggested-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
2013-03-12 16:33:19 -04:00
Brad King 153242601e Merge topic 'findqt4-withqt5'
2112341 FindQt4: Do not use qmake from Qt5
2013-03-12 13:47:08 -04:00
Brad King 28490ecccb Merge topic 'aix-shared-flags'
bce7a2a AIX: Do not use -brtl to create shared libraries (#13997)
2013-03-12 13:47:04 -04:00
Brad King e58117b2ba Merge topic 'Win-HOST_SYSTEM_PROCESSOR'
20681c9 fix Windows processor detection
2013-03-12 13:46:27 -04:00
Brad King 2a3011b536 Merge topic 'FindCUDA.cmake/AddCUDA_cupti_LIBRARY'
c939b49 FindCUDA: Added cupti library.
2013-03-12 13:46:21 -04:00
Brad King 142357ac76 Merge topic 'FindCUDA.cmake/SeparableCompilation'
6a19150 FindCUDA: Add support for separable compilation
2013-03-12 13:46:17 -04:00
Brad King f0e93ce0e5 Merge topic 'FindCUDA.cmake/DontLinkAgainstCUDADriver'
3497bc2 FindCUDA: Remove linkage against CUDA driver library (#13084)
2013-03-12 13:46:13 -04:00
Brad King ff6038057b Merge topic 'FindImageMagick-v6.8.0-8'
5fe9855 FindImageMagick: Search quantum depth suffixes (#13859)
2013-03-12 13:46:10 -04:00
Janne Rönkkö 21123416b4 FindQt4: Do not use qmake from Qt5
Wihtout this, if qmake binary is from Qt5 the FindQt4 fails even though
the Qt4 version of qmake would be installed as qmake-qt4.

On Archlinux this is the case.

Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
2013-03-12 13:43:13 -04:00
James Bigler c939b4948c FindCUDA: Added cupti library.
In addition to adding the cupti library, find_local_library_first has
been renamed to cuda_find_local_library_first with a backward
compatibility macro to find_local_library_first.  Also added
cuda_find_local_library_first_with_path_ext to handle different paths.
2013-03-12 13:38:40 -04:00
James Bigler 6a19150b54 FindCUDA: Add support for separable compilation
This adds a new variable, CUDA_SEPARABLE_COMPILATION, and two new
functions, CUDA_COMPUTE_SEPARABLE_COMPILATION_OBJECT_FILE_NAME and
CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS.

When CUDA_SEPARABLE_COMPILATION is specified then CUDA runtime objects
will be compiled with the separable compilation flag.  These object
files are collected in a target named variable that can be used in
CUDA_COMPUTE_SEPARABLE_COMPILATION_OBJECT_FILE_NAME and
CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS.
2013-03-12 13:38:09 -04:00
James Bigler 3497bc2cee FindCUDA: Remove linkage against CUDA driver library (#13084)
The CUDA runtime library (libcudart) doesn't depend on the driver API
library (libcuda) and shouldn't be used to link CUDA run time codes.
2013-03-12 13:37:44 -04:00
Brad King bce7a2a3a5 AIX: Do not use -brtl to create shared libraries (#13997)
The flag was added incorrectly by commit 9c3a6eb4 (Need -brtl when creating
shared libraries, 2003-05-16).  According to "man ld" the -G option implies
"-brtl -bnortllib ...", -brtl implies "-brtllib", and -brtllib should only be
used for executables, not shared libraries.  Therefore it is incorrect and
unnecessary to specify -brtl explicitly after -G.

Reported-by: Kevin Burge <kcburge@gmail.com>
2013-03-11 09:01:27 -04:00
Rolf Eike Beer 20681c9e05 fix Windows processor detection
Thanks to Martin Koller for this.
2013-03-06 18:04:53 +01:00
Brad King e162d88fbb Merge topic 'GetPrerequisites-objdump'
12fb50d GetPrerequisites: Add documentation for objdump
8eb2fe9 GetPrerequisites: Enable test for BundleUtilities on MinGW
33c94c8 GetPrerequisites: Add support for objdump
5260a86 GetPrerequisites: Move tool search paths up
2013-03-04 15:40:24 -05:00
Brad King caf3f07b83 Merge topic 'non-fatal-Qt4-missing-targets'
4d5230d Only add existing targets to the Qt4 target depends properties.
2013-03-04 15:40:03 -05:00
Brad King 07ee97cace Merge topic 'Win-HOST_SYSTEM_PROCESSOR'
add8d22 properly detect processor architecture on Windows
2013-03-04 15:39:50 -05:00
Michael Tänzer 12fb50da9f GetPrerequisites: Add documentation for objdump
Signed-off-by: Michael Tänzer <neo@nhng.de>
2013-03-01 16:59:49 +01:00
Slava Sysoltsev 5fe9855624 FindImageMagick: Search quantum depth suffixes (#13859)
From ImageMagick's 6.8.0-8 changelog:

  http://www.imagemagick.org/script/changelog.php
  ABI is incompatible if quantum depth change.
  Add abi indication to library name.

Search for library names with -Q16 and -Q8 suffixes.

Reported-by: Evangelos Foutras <evangelos@foutrelis.com>
2013-03-01 08:09:28 -05:00
Michael Tänzer 33c94c82ba GetPrerequisites: Add support for objdump
Make it usable on MinGW without Visual Studio installed.

Signed-off-by: Michael Tänzer <neo@nhng.de>
2013-02-28 09:49:32 -05:00
Michael Tänzer 5260a864f5 GetPrerequisites: Move tool search paths up
Make them usable in the gp_tool selection heuristic.

Signed-off-by: Michael Tänzer <neo@nhng.de>
2013-02-28 09:48:11 -05:00
Stephen Kelly 4d5230d1d8 Only add existing targets to the Qt4 target depends properties.
Qt can be configured in ways which disable certain modules. Make
sure we don't fail on that.
2013-02-26 22:03:04 +01:00
Brad King 9d4394148a Merge topic 'FPHSA_FOUND_VAR_OPTION'
f17711c FPHSA: Convert FOUND_VAR failure test to RunCMake
c1f5780 FPHSA: improve documentation
7bb1abe FPHSA: Add FOUND_VAR option to specify _FOUND variable name
2013-02-25 13:12:05 -05:00
Brad King b887bca6ee Merge topic 'try_compile-targets'
236133e Handle targets in the LINK_LIBRARIES of try_compile.
1c0597c Add a new Export generator for IMPORTED targets.
f2ab17d Keep track of all targets seen while evaluating a genex.
2013-02-25 13:12:02 -05:00
Brad King 20d0b37f4a Merge topic 'generate-export-header-warnings'
1e0891e Removed GenerateExportHeader warnings about old compilers
2013-02-25 13:11:29 -05:00
Brad King 3044443b40 Merge topic 'fix-GEH-docs'
0ebf332 Fix GenerateExportHeader documentation #13936
2013-02-25 13:11:19 -05:00
Rolf Eike Beer add8d22acc properly detect processor architecture on Windows
CMake is usually run as a 32 bit process even on 64 bit Windows, so the
PROCESSOR_ARCHITECTURE environment variable would always return x86. This post
gives a description on how to do it properly:

http://blogs.msdn.com/b/david.wang/archive/2006/03/26/howto-detect-process-bitness.aspx
2013-02-25 16:14:36 +01:00
Stephen Kelly 236133e79e Handle targets in the LINK_LIBRARIES of try_compile.
Imported targets are re-exported so that they can be used by the
try_compile generated code with target_link_libraries.

This makes the use of the cmake_expand_imported_targets macro
obsolete. The macro is not able to expand the generator expressions
which may appear in the IMPORTED_LINK_INTERFACE_LIBRARIES content.
Instead it just sees them as 'not a target'.
2013-02-22 08:35:39 -05:00