Commit Graph

18009 Commits

Author SHA1 Message Date
Rolf Eike Beer 0fe4d69b6f FindPythonInterp: make version selectable
This allows the developer to tell FindPythonInterp which Python version should
be searched for. This allows the right version to be chosen for a project
without user assistance if there are specific requirements. This is especially
useful as it is common to have major versions 2 and 3 installed in parallel,
which are partly incompatible.
2012-01-18 18:29:16 +01:00
Rolf Eike Beer 8d830436a4 AllFindModules test: also check Qt3 modules if Qt4 is not found 2012-01-18 18:23:21 +01:00
KWSys Robot b2838626dd KWSys Nightly Date Stamp 2012-01-18 00:05:03 -05:00
Rolf Eike Beer 0541a03a4c GenerateExportHeader test: add newlines before end of file 2012-01-18 00:01:08 +01:00
David Cole 7240aa7fac Update dashmacmini2 release script to use Qt 4.6.3 2012-01-17 17:59:16 -05:00
David Cole a6518c30e0 Merge topic 'check_symbol_exists'
6856b4d Merge topic 'link-shared-depend-cycle-issue-12647' into check_symbol_exists
8e1f376 add a test for Check{,CXX}SymbolExists
813eca6 CheckSymbolExists: force the compiler to keep the referenced symbol
2012-01-17 16:25:38 -05:00
David Cole 05fbfd494e Merge topic 'link-shared-depend-cycle-issue-12647'
8e756d2 Tolerate cycles in shared library link interfaces (#12647)
2012-01-17 16:25:19 -05:00
David Cole 4cfaa91ef0 Merge topic 'add_CMakeOnly_test-infrastructure'
9a20abf Add infrastructure for CMake-only tests
2012-01-17 16:25:01 -05:00
David Cole 1120bb6990 Merge topic 'FindMPI-issue-12874'
87737e6 FindMPI: Append MPI C++ library correctly in non-compiler case (#12874)
2012-01-17 16:24:42 -05:00
David Cole dafd511199 Merge topic 'CPackRPM-noFileListedTwice'
ae250d5 CPackRPM flag direcories with %dir in the generated spec file
2012-01-17 16:24:22 -05:00
David Cole 2c9cc252cf Merge topic 'cm-bzip2-header-issue-10950'
d4a9e33 Include bzlib.h consistently across CMake build (#10950)
2012-01-17 16:23:56 -05:00
David Cole a6bc62c5ac Merge topic 'fixSymlinkInZIP'
768cf91 Do not add the content of a file if it's a symlink.
2012-01-17 16:23:38 -05:00
David Cole f1f66c95ad Merge topic 'ExternalProject-git-cmd-version'
4ac6ba2 ExternalProject: Update copyright year
8cb8ccc ExternalProject: Fix git.cmd version detection
2012-01-17 16:23:16 -05:00
David Cole 4dd47eb6c3 Merge topic 'compiler-version'
0df1942 Detect SGI MIPSpro compiler version with its id
a5e892c Document compiler version macro formats used for detection
d7c6f41 Detect HP compiler version with its id
3dd9fa9 Detect SunPro compiler version with its id
c198730 Detect Watcom compiler version with its id
5899b98 Detect Clang compiler version with its id
b8cfa65 Detect PGI compiler version with its id
6dae666 Detect IBM XL compiler version with its id
4080d55 Detect Borland compiler version with its id
2cc205a Detect Intel compiler version with its id (#11937)
a6d83cc Detect MSVC compiler version with its id
a662855 Detect GNU compiler version with its id (#6251)
fa7141f Add framework to detect compiler version with its id (#12408)
2012-01-17 16:22:53 -05:00
David Cole d9d24e2196 Merge topic 'FindPythonLibs-single-user-issue-12869'
a04ced3 FindPythonLibs: Search for single-user installs on Windows
2012-01-17 16:22:42 -05:00
David Cole 48f159f871 Merge topic 'vs10-fix-pdbname-issue-12328'
655a7dd VS10: Fix /pdb option vcxproj element name (#12328)
2012-01-17 16:22:10 -05:00
David Cole 4dc612f4b5 Merge topic 'bootstrap-options'
c19868b bootstrap: Forward options after '--' to cmake
f39e82c bootstrap: Re-implement command line option processing
dbf05f7 bootstrap: Update copyright year in version report
2012-01-17 16:21:44 -05:00
Brad King 982b5d9eef cmInstallCommand: Fix line length for style
After indentation was fixed by a previous commit some lines became too
long.  Re-wrap to shorten them.
2012-01-17 14:03:45 -05:00
Rolf Eike Beer e797e7fb41 AllFindModules test: keep complete output 2012-01-17 19:14:56 +01:00
Rolf Eike Beer bb2b264b5e FindOpenSSL: also parse version number define with uppercase letters 2012-01-17 19:07:04 +01:00
Yury G. Kudryashov a64b6185de cmInstallCommand: Remove duplicated sentence from docs
install(TARGETS ...) documentation described twice what happens on non-DLL
systems.
2012-01-17 10:02:13 -05:00
Yury G. Kudryashov 01ddef87e6 cmInstallCommand: Fix indentation error
A large block of code was indented 2 spaces less than it should.
2012-01-17 10:02:02 -05:00
Rolf Eike Beer 7053a00f23 FindOpenSSL: only try to parse opensslv.h if it exists 2012-01-17 08:36:50 +01:00
Rolf Eike Beer 44ba7a3da8 Merge branch 'master' of git://cmake.org/cmake into openssl-version 2012-01-17 08:25:45 +01:00
KWSys Robot 795221775a KWSys Nightly Date Stamp 2012-01-17 00:05:03 -05:00
Rolf Eike Beer ec631d5043 add a test that loops through most Find* modules
This allows easy spotting of modules that output crappy messages and the
like.
2012-01-16 23:37:13 +01:00
Rolf Eike Beer 6856b4d19d Merge topic 'link-shared-depend-cycle-issue-12647' into check_symbol_exists 2012-01-16 21:03:23 +01:00
Rolf Eike Beer 8e1f376782 add a test for Check{,CXX}SymbolExists
Now that we think that CheckSymbolExists really works for all cases it is time
to prove that. If this code fails too many other things will break.
2012-01-16 20:52:29 +01:00
Rolf Eike Beer 813eca6416 CheckSymbolExists: force the compiler to keep the referenced symbol
Otherwise the compiler may optimize out the reference to the symbol as the
previous version was not really using this. This leads to symbols that are
only in a header but not in the given libraries to be reported as present.

This came up on the first try to fix bug 11333 as "gcc -O3" would optimize
out the reference to pthread_create() so the correct library the symbol is in
was not detected.

The new test code was suggested by Brad King.
2012-01-16 20:27:40 +01:00
Brad King 87737e62e0 FindMPI: Append MPI C++ library correctly in non-compiler case (#12874)
When we have no MPI compiler wrapper and search explicitly for the MPI
C++ library append it correctly to the list of libraries instead of
using a space.

Suggested-by: Mourad Boufarguine <bouffa@gmail.com>
2012-01-16 09:03:08 -05:00
KWSys Robot 038ba372fa KWSys Nightly Date Stamp 2012-01-16 00:05:04 -05:00
KWSys Robot 9188dafac1 KWSys Nightly Date Stamp 2012-01-15 00:05:03 -05:00
KWSys Robot c121f3f5c4 KWSys Nightly Date Stamp 2012-01-14 00:05:03 -05:00
Daniel Nelson 3cab24a974 CPack Add top level directory in component install for Archive Generators
This patch fixes bug #0012129
Signed-off-by: Eric NOULARD <eric.noulard@gmail.com>
2012-01-13 22:01:53 +01:00
Deborah Pickett ae250d5cfa CPackRPM flag direcories with %dir in the generated spec file
This fix bug #12863 whose symptom was a lot of "warning: File listed twice"
printed out by rpmbuild when processing the spec file.

Signed-off-by: Eric NOULARD <eric.noulard@gmail.com>
2012-01-13 21:35:41 +01:00
Brad King 8e756d2b9b Tolerate cycles in shared library link interfaces (#12647)
Since commit 183b9509 (Follow all dependencies of shared library private
dependencies, 2011-12-14) we honor LINK_INTERFACE_LIBRARIES when
following dependent shared libraries.  The link interface properties may
form a cycle if set incorrectly by a project.  Furthermore, the property
LINK_DEPENDENT_LIBRARIES may form a cycle if set incorrectly by hand
(though CMake should never generate one).  In either case, do not follow
the cycle forever when following the dependent shared library closure.
We only need to add dependency edges to the constraint graph once.

Add "LinkInterfaceLoop" test to cover this case.
2012-01-13 14:22:24 -05:00
Brad King 9a20abf04a Add infrastructure for CMake-only tests
Some tests only need to run CMake to configure and generate a build
tree, but not actually perform the build.  Add a new "Tests/CMakeOnly"
directory dedicated for this purpose.  Add a helper script to drive each
test by creating a fresh build tree and running CMake on it.  Add macro
"add_CMakeOnly_test" to help create tests using the script.
2012-01-13 14:21:22 -05:00
Brad King d4a9e334d3 Include bzlib.h consistently across CMake build (#10950)
Use the approach originally used in commit f91b3c1d (Add options to
build with system utility libraries, 2006-10-19) for all other
third-party libraries.  Create a "cm_bzlib.h" header wrapper that
robustly includes the header from the bzip2 library chosen for the CMake
build (either builtin or system version).  Include the header wrapper
anywhere we need the API provided by <bzlib.h>.
2012-01-13 14:05:36 -05:00
Eric NOULARD 768cf91831 Do not add the content of a file if it's a symlink.
This wasn't necessary for TAR-like (TGZ, TBZ2, etc...) archive
because for those the size was 0. Either there is an error in
upstream libarchive concerning the size or we should not rely
on size of the entry for adding content.
2012-01-13 13:48:14 -05:00
Rolf Eike Beer 8e8672ccdb FindOpenSSL: improve version number handling
First this fixes the bug that e.g. version "1.0.0" was shown as "1..". When
pkg-config was used to find OpenSSL the header file was parsed for the version
number even if pkg-config returned it already. Finally we also include the
patch level (i.e. the letter after the version number) in OPENSSL_VERSION.
2012-01-13 17:24:50 +01:00
KWSys Robot 50edbf0f22 KWSys Nightly Date Stamp 2012-01-13 00:05:04 -05:00
KWSys Robot c89ee4a10f KWSys Nightly Date Stamp 2012-01-12 00:05:10 -05:00
KWSys Robot bbed901178 KWSys Nightly Date Stamp 2012-01-11 00:05:34 -05:00
Brad King 4ac6ba2bb8 ExternalProject: Update copyright year 2012-01-10 15:02:56 -05:00
Brad King 8cb8ccc571 ExternalProject: Fix git.cmd version detection
When GIT_EXECUTABLE points at ".../Git/cmd/git.cmd" in an msysGit
installation we previously failed to detect the version number in a
subtle case.  The "git.cmd" assumes 'chcp' is in PATH.  It is typically
available at "C:\Windows\System32\chcp.com".  On 64-bit Windows the File
System Redirector maps this location to "C:\Windows\SysWOW64\chcp.com"
for 32-bit processes.  However, some Windows installations fail to
provide chcp.com at this path.  Whenever git.cmd runs in a 32-bit
command shell, as it does under a 32-bit CMake binary, it reports

 'chcp' is not recognized as an internal or external command,
  operable program or batch file.

on stderr.  Capture stderr separately so it does not affect parsing
of the version number.

See also msysGit issue 358:

  http://code.google.com/p/msysgit/issues/detail?id=358

Note that FindGit prefers "git.cmd" over "git.exe" because it sets up
the proper HOME environment variable necessary for Git ssh connections
to work the same as they do from the Git bash prompt.
2012-01-10 15:02:40 -05:00
Brad King 0df1942a72 Detect SGI MIPSpro compiler version with its id
Decode decimal digits from _SGI_COMPILER_VERSION or _COMPILER_VERSION to
compute version number components.  See documentation at:

  http://predef.sourceforge.net/precomp.html
2012-01-10 13:29:39 -05:00
Brad King a5e892ca1f Document compiler version macro formats used for detection
The MSVC, HP, XL, SunPro, Watcom, Borland, and Intel compilers specify
their version number in components encoded in a single integer value.
Document the components that we use to compute version numbers.
2012-01-10 13:24:38 -05:00
Brad King d7c6f410f9 Detect HP compiler version with its id
Decode decimal digits from __HP_cc and __HP_aCC to compute version
number components.  See documentation at:

  http://predef.sourceforge.net/precomp.html
  http://g4u0420c.houston.hp.com/en/14487/preprocess.htm
2012-01-10 13:07:04 -05:00
Brad King 3dd9fa9d6a Detect SunPro compiler version with its id
Decode hex digits from __SUNPRO_C and __SUNPRO_CC 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

Although the documented version number format is

  0xVRP where V = Version, R = Revision, P = Patch

it holds only though SunPro C/C++ version 5.9.  Later versions have
a two-digit revision (minor) number so their format is 0xVRRP.
2012-01-10 11:59:14 -05:00
Christian Andersson a04ced3b38 FindPythonLibs: Search for single-user installs on Windows
When cmake searches for Python libs in Windows it searches in:

  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs

However, the information might not always reside there.  The information
could also reside in:

  [HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs

when one installs Python for a single user and not for all users.
2012-01-10 09:58:43 -05:00