Commit Graph

18081 Commits

Author SHA1 Message Date
Brad King c213eb9cbf Windows-GNU: Remove extra quotes in GNUtoMS rule variable
CMake replaces the <TARGET...> tokens with properly quoted values so we
do not need an extra set of quotes around them.
2011-12-08 13:28:37 -05:00
David Cole 56b5a72ebd CMake 2.8.7-rc1 2011-12-08 10:15:34 -05:00
KWSys Robot e61d2ded80 KWSys Nightly Date Stamp 2011-12-08 00:05:03 -05:00
David Cole d050d6b58b Merge topic 'AutomocIncludedDotMocFileHandling'
2d11951 Merge branch 'master' into AutomocIncludedDotMocFileHandling
1eca18f automoc: add documentation for CMAKE_AUTOMOC_STRICT_MODE
bc278ce automoc: fix line length
62e223e automoc: add variable CMAKE_AUTOMOC_STRICT_MODE, to enable strict parsing
40c5167 automoc: accept even more .moc files in non-strict mode
c207f5d automoc: also accept other files when .moc is included in non-strict mode
9c0df72 automoc: add a StrictParseCppFile(), which is only qmake-compatible
174bf35 automoc: move the code for finding headers into separate function
8507eae automoc: fix handling of included _p.moc files
7ada172 automoc: some more linebreaks for the warnings for better readability
3b93e26 automoc: add extra check whether the header contains Q_PRIVATE_SLOT
4745715 Add a test case for the use of Q_PRIVATE_SLOT.
bde4edb automoc: add special handling for including basename_p.moc, with test
74ab0f6 automoc: move some code from the big parsing loop into separate functions
bc7560e automoc: add test for including a moc_abc_p.cpp file
30fd8e6 automoc: add test for including the moc file from another header
...
2011-12-07 16:47:35 -05:00
David Cole 174ecf51f8 Merge topic 'refactor-versioned-lib-names'
96f65ba cmTarget: Create helper method for versioned library names
2011-12-07 16:46:35 -05:00
David Cole 0ea95b99ce Merge topic 'topics/FindCUDA/Misc-fixes'
aa36082 Miscellaneous fixes.
2011-12-07 16:45:35 -05:00
David Cole c26e28754c Merge topic 'topics/FindCUDA/Multi-dir-clash'
80e279d Make CUDA working directory unique for each target.
2011-12-07 16:45:00 -05:00
David Cole 2d1195123e Merge branch 'master' into AutomocIncludedDotMocFileHandling
Conflicts:
	Source/cmTarget.cxx
2011-12-07 16:29:13 -05:00
Brad King c198730b45 Detect Watcom compiler version with its id
Decode decimal digits from __WATCOMC__ to compute the version number
components.  See documentation at:

  http://predef.sourceforge.net/precomp.html
2011-12-07 09:39:50 -05:00
Brad King 5899b988d5 Detect Clang compiler version with its id
Decode decimal digits from

  __clang_major__
  __clang_minor__
  __clang_patchlevel__

to compute version number components.  See documentation at:

  http://clang.llvm.org/docs/LanguageExtensions.html#builtinmacros
  http://predef.sourceforge.net/precomp.html
2011-12-07 09:39:49 -05:00
Brad King b8cfa656ce Detect PGI compiler version with its id
Decode decimal digits from

  __PGIC__
  __PGIC_MINOR__
  __PGIC_PATCHLEVEL__

to compute version number components.
2011-12-07 09:39:48 -05:00
Brad King 6dae6660fc Detect IBM XL compiler version with its id
Decode decimal digits from __IBMC__ and __IBMCPP__ to compute version
number components.  See documentation at:

  http://predef.sourceforge.net/precomp.html
  http://publib.boulder.ibm.com/infocenter/comphelp/v111v131/topic/com.ibm.xlc111.aix.doc/compiler_ref/xlmacros.html
  http://publib.boulder.ibm.com/infocenter/comphelp/v111v131/topic/com.ibm.xlcpp111.aix.doc/compiler_ref/xlmacros.html
2011-12-07 09:39:47 -05:00
Brad King 4080d5510e Detect Borland compiler version with its id
Decode hex digits from __BORLANDC__ to compute the version number
components.  Note that the constant encodes decimal digits as hex digits
(never larger than 9).  We represent them as decimal after extraction.
See documentation at

  http://predef.sourceforge.net/precomp.html
  http://docwiki.embarcadero.com/RADStudio/en/Predefined_Macros
2011-12-07 09:39:46 -05:00
Brad King 2cc205a0fb Detect Intel compiler version with its id (#11937)
Decode decimal digits from

  __INTEL_COMPILER
  __INTEL_COMPILER_BUILD_DATE

to compute the version number components.  See documentation at:

  http://predef.sourceforge.net/precomp.html
  http://software.intel.com/sites/products/documentation/hpc/compilerpro/en-us/fortran/lin/compiler_f/bldaps_for/common/bldaps_use_presym.htm
2011-12-07 09:39:45 -05:00
Brad King a6d83ccea9 Detect MSVC compiler version with its id
Decode decimal digits from _MSC_VER, _MSC_FULL_VER, and _MSC_BUILD to
compute the version number components.  See documentation at:

  http://msdn.microsoft.com/en-us/library/b0084kay.aspx
  http://predef.sourceforge.net/precomp.html
2011-12-07 08:59:53 -05:00
Brad King a66285583d Detect GNU compiler version with its id (#6251)
Decode decimal digits from

  __GNUC__
  __GNUC_MINOR__
  __GNUC_PATCHLEVEL__

to compute version components.  See documentation at

  http://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html
  http://predef.sourceforge.net/precomp.html
2011-12-07 08:59:52 -05:00
Brad King fa7141f5ad Add framework to detect compiler version with its id (#12408)
Teach CMakePlatformId.h to construct an "INFO:compiler_version[]" string
literal from macros COMPILER_VERSION_(MAJOR|MINOR|PATCH|TWEAK) to be
defined in CMake(C|CXX)CompilerId.(c|cpp) for each compiler.  Provide
conversion macros DEC() and HEX() to decode decimal or hex digits from
integer values.  Parse the version out of the compiler id binary along
with the other INFO values already present.

Store the result in variable CMAKE_<LANG>_COMPILER_VERSION in the format
"major[.minor[.patch[.tweak]]]".  Save the value persistently in
CMake(C|CXX)Compiler.cmake in the build tree.  Document the variable for
internal use since we do not set it everywhere yet.

Report the compiler version on the compiler id result line e.g.

  The C compiler identification is GNU 4.5.2

Report CMAKE_(C|CXX)_COMPILER_(ID|VERSION) in SystemInformation test.
2011-12-07 08:59:51 -05:00
KWSys Robot 6fb2a38b0a KWSys Nightly Date Stamp 2011-12-07 00:05:03 -05:00
David Cole 9f18f64c7c Merge topic 'topics/FindCUDA/Quote-fixes'
c3c7a0c Fixes for handling quotes in args and other places (Fix Bug 11726 and 12099).
2011-12-06 15:08:12 -05:00
David Cole de9dc82779 Merge topic 'topics/FindCUDA/FixCUDAInUNCPath'
83d4eea Add work around for CUDA in UNC paths.
2011-12-06 15:08:03 -05:00
David Cole 35017df53c Merge topic 'topics/FindCUDA/linux-double-build'
aa59544 Reset dependency file list when a dependency disappeared.
2011-12-06 15:07:48 -05:00
David Cole 386cf3c593 Merge topic 'GNU-to-MS'
ae62a1c Test CMAKE_GNUtoMS option in ExportImport on MinGW and MSys
afb00fe Add CMAKE_GNUtoMS option to convert GNU .dll.a to MS .lib
61e8629 Factor makefile generator link rule lookup into helper function
a603250 Load platform files that need to know the ABI when possible
ecd8414 Fortran: Detect pointer size in gfortran on MinGW
2011-12-06 15:07:39 -05:00
David Cole b8c0dd48b0 Merge topic 'CUDAv3.2PathChanges'
8930938 Added support for CUDA_PATH which is present in the CUDA toolkit 3.2 onward.
2011-12-06 15:07:27 -05:00
David Cole f9144380f1 Merge topic 'fix-ExternalProject-svn-issue'
f529ddc Tests: ExternalProject: Remove unnecessary 'svn --version' call
2011-12-06 15:07:17 -05:00
David Cole cc35c8fad3 Merge topic 'findlapack-0012477-new'
f44f053 FindLAPACK: Fix linking to static LAPACK on Unix (#12477)
2011-12-06 15:06:52 -05:00
David Cole 4c84aa7346 Merge topic 'TinyCC-compiler'
0efe602 TinyCC: Add default compilation flags (#12605)
ec636e2 TinyCC: Add compiler info for shared libs on Linux (#12605)
1f49d72 Recognize the Tiny C Compiler (#12605)
2011-12-06 15:06:34 -05:00
David Cole 03aeccd4ae Merge topic 'qt4-macros-verbatim'
9b07c19 Fix path quoting in Qt4 macros
2011-12-06 15:06:19 -05:00
David Cole 01e825332c Merge topic 'export-final-location'
fea3e84 export(): Document undefined behavior of location properties
363d396 Factor out target location undefined behavior helper macro
2011-12-06 15:05:28 -05:00
Alex Neundorf 1eca18fd52 automoc: add documentation for CMAKE_AUTOMOC_STRICT_MODE
Alex
2011-12-06 20:42:20 +01:00
Brad King 96f65ba68e cmTarget: Create helper method for versioned library names
Replace the duplicate logic for the realName and soName of versioned
shared libraries with calls to a new ComputeVersionedName method.
2011-12-06 14:19:44 -05:00
Alex Neundorf bc278ceb0f automoc: fix line length
Alex
2011-12-06 18:54:30 +01:00
KWSys Robot 759323ad0b KWSys Nightly Date Stamp 2011-12-06 00:05:06 -05:00
James Bigler aa36082a2b Miscellaneous fixes. 2011-12-05 19:04:48 -07:00
James Bigler 80e279d37c Make CUDA working directory unique for each target.
This allows you to have more than source file with the same name but different
directories.  The intermediate and configuration files are now in this same directory.
2011-12-05 19:00:00 -07:00
James Bigler c3c7a0cfb8 Fixes for handling quotes in args and other places (Fix Bug 11726 and 12099). 2011-12-05 17:16:05 -07:00
James Bigler 83d4eeadac Add work around for CUDA in UNC paths.
Nvcc can emit '/path' instead of '//path' which can cause a lot of grief later.  We test
to see if the file exists, if it doesn't then we see if the file exists with '/'
prepended.  Files that don't exist won't be added to the list.
2011-12-05 16:54:06 -07:00
James Bigler aa59544078 Reset dependency file list when a dependency disappeared.
Fix a long outstanding bug when a file in the dependency list wasn't found.  This bug
wouldn't reset the dependencies, so the makefile would still want the missing file when
building.  The work around was to configure twice, but this is no longer necessary.
2011-12-05 16:29:28 -07:00
Brad King ae62a1cd35 Test CMAKE_GNUtoMS option in ExportImport on MinGW and MSys 2011-12-05 18:20:35 -05:00
Brad King afb00fef19 Add CMAKE_GNUtoMS option to convert GNU .dll.a to MS .lib
Teach the Windows-GNU.cmake platform file to look for Visual Studio
tools matching the target ABI.  Add an extra step to the link command
for shared libraries and executables that export symbols and on which a
new GNUtoMS property is set (initialized by the CMAKE_GNUtoMS option).
Tell the GNU linker to output a module definition (.def) file listing
exported symbols in addition to the GNU-format import library (.dll.a).
Pass the .def file to the MS "lib" tool to construct a MS-format DLL
import library (.lib).

Teach the install(TARGETS) command to install the MS import library next
to the GNU one.  Teach the install(EXPORT) and export() command to set
the IMPORTED_IMPLIB property pointing at the import library to use the
import library matching the tools in the importing project.
2011-12-05 18:13:49 -05:00
James Bigler 8930938351 Added support for CUDA_PATH which is present in the CUDA toolkit 3.2 onward.
This required changing how the paths were used.  I now use the PATH_SUFFIXES parameter
instead of putting the whole path in the command.
2011-12-05 16:04:00 -07:00
Brad King 61e862986a Factor makefile generator link rule lookup into helper function
This provides a place in the makefile generators to adjust the link
rules for both libraries and executables.
2011-12-05 16:37:43 -05:00
Brad King a603250a13 Load platform files that need to know the ABI when possible
Load platform files named in CMAKE_<lang>_ABI_FILES for each language
once the ABI sizeof(void*) is known.  During the first configuration
this is after the test for working compiler and ABI detection checks.
During later configurations the ABI information is immediately available
because it has been saved in CMake<lang>Compiler.cmake.
2011-12-05 16:35:42 -05:00
Brad King ecd8414757 Fortran: Detect pointer size in gfortran on MinGW
Use __SIZEOF_POINTER__ which the GNU Fortran compiler defines at least
on 64-bit MinGW.  Assume default size 4 on MinGW if gfortran does not
define the size.
2011-12-05 16:32:29 -05:00
Rolf Eike Beer f529ddcea0 Tests: ExternalProject: Remove unnecessary 'svn --version' call
This test will fail to get a proper version number if running on a (e.g.
German) localized system because the regular expression used to match the
Subversion version output does not match. Instead of duplicating code just
remove the local test altogether and use the version that FindSubversion.cmake
already detects.
2011-12-05 11:49:31 -05:00
Alexey Ozeritsky f44f053a52 FindLAPACK: Fix linking to static LAPACK on Unix (#12477) 2011-12-05 11:41:52 -05:00
Mathieu Malaterre 0efe602c59 TinyCC: Add default compilation flags (#12605) 2011-12-05 08:59:50 -05:00
KWSys Robot e0bc42aa4f KWSys Nightly Date Stamp 2011-12-05 00:05:05 -05:00
KWSys Robot e21e5cf289 KWSys Nightly Date Stamp 2011-12-04 00:05:11 -05:00
Pierre-Francois Laquerre 9b07c19f92 Fix path quoting in Qt4 macros
Adding VERBATIM to the ADD_CUSTOM_COMMAND calls in the qt4 macros
ensures that paths are properly quoted when passed to the shell.
This fixes issues when building projects that contained paths with
special characters (according to /bin/sh), such as parentheses or
spaces.
2011-12-03 17:51:24 -07:00
KWSys Robot 901e6d023f KWSys Nightly Date Stamp 2011-12-03 00:05:06 -05:00