Commit Graph

16560 Commits

Author SHA1 Message Date
Brad King 08b93977cf find_package: Fix system package registry test path conversion
Do not use file(TO_NATIVE_PATH) to compute the value to store in the
registry.  It is meant for constructing values to be put in shells.
Since find_package() can use the value with CMake-normalized slashes do
not bother with any conversion.
2011-04-14 09:35:21 -04:00
KWSys Robot 342628aa20 KWSys Nightly Date Stamp 2011-04-14 00:13:05 -04:00
Brad King 93021adb73 find_package: Test system package registry when possible
Teach the FindPackagTest to try creating the appropriate HKLM system
package registry value.  If it works then add a test to verify that
find_package() reads it as expected.  Then delete the value to cleanup.
2011-04-13 14:28:00 -04:00
Brad King b95f3cac91 find_package: Check both 32-bit and 64-bit registry views
The system package registry is under HKEY_LOCAL_MACHINE\SOFTWARE which
has separate views for 32-bit and 64-bit applications.  Look in both
views, but prefer the architecture matching the build target platform.
2011-04-13 13:17:42 -04:00
Brad King a0d76c10a7 find_package: Search a "system package registry"
Generalize the "user package registry" created by commit ed0650f6 (Teach
find_package to search a "package registry", 2009-09-01).  Define a
corresponding "system" registry key under HKEY_LOCAL_MACHINE.  This
gives package installers a place to create a registry value that points
at the right location for find_package() to locate the package.
2011-04-13 13:17:00 -04:00
Brad King 549458f280 find_package: Document user package registry locations
Specify the Windows registry key under HKEY_CURRENT_USER and directory
on UNIX platforms in which the package registry is stored.
2011-04-13 13:13:58 -04:00
Brad King c9563dbe1a find_package: Cleanup user package registry less aggressively
Delete only REG_SZ entries that are specifically detected to point to
invalid paths.  This will allow future versions to add other value types
for different purposes.
2011-04-13 12:59:00 -04:00
Brad King 4df119773c find_package: Rename implementation of user package registry
Rename {Registry => UserRegistry} in names associated specifically with
the user package registry and not registry access in general.
2011-04-13 12:57:18 -04:00
Brad King 54afd0940c KWSys: Remove unused CheckCXXSourceRuns cmake module
This file has not been used in KWSys since commit "Moved test for large
file support into kwsysPlatformCxxTests.cxx", 2006-08-25.  CMake 2.6.0
and above come with a copy of this module anyway, and KWSys has required
CMake 2.6.3 since commit "KWSys: Require at least CMake 2.6.3",
2011-03-01.
2011-04-13 08:20:03 -04:00
KWSys Robot 3ec0119f43 KWSys Nightly Date Stamp 2011-04-13 00:13:03 -04:00
David Cole 7f6f6060c3 CMake: Clarify the --debug-trycompile help text 2011-04-12 16:21:54 -04:00
Brad King 8997dc935c Merge topic 'vs10-custom-working-directory-issue-11938'
234bae7 VS10: Fix exit code of custom commands with setlocal/endlocal (#11938)
b98fdd5 VS: Use setlocal/endlocal only in VS 10 custom commands
06fcbc4 VS10: Fix working directory of consecutive custom commands (#11938)
2011-04-12 14:44:25 -04:00
Brad King bf4349b23c Merge topic 'CPackDeb-fix12061'
b22fcfb CPackDeb: Handle dirs for CONTROL_EXTRA correctly when packaging components
2011-04-12 14:44:22 -04:00
Brad King f3e48acad0 Merge topic 'windows-make-working-drive'
42a732b Change working drive only in MinGW Makefiles
b567613 Fix working drive of make rules on Windows
2011-04-12 14:44:19 -04:00
Brad King 051a2200da Merge topic 'fixbug_0011782'
0378396 UseSWIG.cmake did not support multiple modules and parallel builds
2011-04-12 14:44:16 -04:00
Brad King 65a05b8ff0 Merge topic 'fixbug_0011676'
5f76833 Add support for Java on HP
2011-04-12 14:44:13 -04:00
Brad King dff009626d Merge topic 'fixbug_0011215'
c088536 UseSWIG.cmake does not expand $(OutDir)
2011-04-12 14:44:09 -04:00
Brad King bc888800f5 Merge topic 'fixbug_0011183'
a59d198 Add support for java on fedora
2011-04-12 14:43:59 -04:00
Brad King 0a340142aa Merge topic 'fixbug_0010242'
4f35488 Add support for FindJava on HP-UX and alpha
2011-04-12 14:43:57 -04:00
Brad King 6ae7b5bb83 Merge topic 'fixbug_0004147'
1088b02 Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake
2011-04-12 14:43:51 -04:00
Brad King f464eb203e Merge topic 'fixbug0011843'
55b7c87 Add support for new swig 2.0 application
2011-04-12 14:43:48 -04:00
Brad King 445611e53e Merge topic 'refine-XL-rules'
d468a2c XL: Avoid copying archives into shared libraries that link them
2011-04-12 14:43:39 -04:00
Brad King c53119641f Merge topic 'refine-XL-compiler-information'
2f3eee7 XL: Consolidate compiler flag information
3a40c7f XL: Set C++ and Fortran flags consistently with C
2011-04-12 14:43:34 -04:00
Brad King 89460b7fd7 Merge topic 'xcode-attribute-conditions'
c519bb2 XCode: Also qoute [] as needed to set build-configurations.
2011-04-12 14:43:29 -04:00
Brad King d1965b3ffa Merge topic 'FindZLIB-improve-found-message'
0dafc0a FindZLIB: print library instead of include directory
2011-04-12 14:43:26 -04:00
Brad King 6507f12377 Merge topic 'find_package-forward-components'
9fc7ea4 find_package: Forward component list for recursive calls in modules
2011-04-12 14:43:20 -04:00
Brad King eeb2e2eaec Merge topic 'libarchive-strip-xattr-issue-11958'
e8558ef cmArchiveWrite: Clear xattr and acl from entries (#11958)
2011-04-12 14:43:15 -04:00
KWSys Robot 2adb7d36f2 KWSys Nightly Date Stamp 2011-04-12 00:13:01 -04:00
David Cole 3a5a402a53 ExternalProject: Add SVN_TRUST_CERT argument
Which adds --non-interactive and --trust-server-cert to the svn
checkout and update command lines. This allows ExternalProject
clients to pull from an https:// based svn server even though
the server may not have a valid or trusted certificate.

Caveat emptor: I would NOT recommend using this except as a
short-term work-around. Rather, the server should have a valid,
trusted certificate, or the client should be using "http" instead
of "https".
2011-04-11 16:34:58 -04:00
Brad King 234bae7a20 VS10: Fix exit code of custom commands with setlocal/endlocal (#11938)
Use the pattern

  setlocal
  ...
  endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
  :cmErrorLevel
  exit /b %1
  :cmDone
  if %errorlevel% neq 0 goto :VCEnd

in custom commands to preserve the %errorlevel% from inside the
setlocal/endlocal block.
2011-04-11 11:54:01 -04:00
Brad King b98fdd5284 VS: Use setlocal/endlocal only in VS 10 custom commands
The setlocal/endlocal and errorlevel pattern added by commit 06fcbc47
(VS10: Fix working directory of consecutive custom commands, 2011-04-08)
does not work well in VS 7.1.  Restore the original behavior for VS
versions that do not need the new behavior.
2011-04-11 11:53:31 -04:00
KWSys Robot a72c0a2004 KWSys Nightly Date Stamp 2011-04-11 00:12:19 -04:00
KWSys Robot c2ef7abe04 KWSys Nightly Date Stamp 2011-04-10 00:13:04 -04:00
Martin Konrad b22fcfb0c5 CPackDeb: Handle dirs for CONTROL_EXTRA correctly when packaging components
Copy the files specified in CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA to the right
directory when packaging components. This fixes #12061.
Signed-off-by: Eric NOULARD <eric.noulard@gmail.com>
2011-04-09 09:30:19 +02:00
KWSys Robot 4e9506ac31 KWSys Nightly Date Stamp 2011-04-09 00:13:04 -04:00
Brad King 42a732ba20 Change working drive only in MinGW Makefiles
The parent commit assumed that "cd /d" would work in all Windows shells.
While all modern versions of windows have shells that support it, the
shells used by NMake and Borland make do not.  Borland make does not
seem to even support changing drive letters with "d:".  Just revert the
feature for all make tools except MinGW where the shell is known to
support this feature.
2011-04-08 16:12:18 -04:00
Brad King b5676134ce Fix working drive of make rules on Windows
Teach cmLocalUnixMakefileGenerator3::CreateCDCommand to change working
directories for make tools using a Windows shell using "cd /d" instead
of just "cd".  This tells the shell to change the current drive letter
as well as the working directory on that drive.

Commit abaa0267 (When the working directory for a custom command is on
another drive..., 2007-12-17) fixed the same problem for VS IDE
generators as reported by issue #6150.
2011-04-08 15:36:55 -04:00
Brad King 06fcbc4757 VS10: Fix working directory of consecutive custom commands (#11938)
The VS 10 msbuild tool uses a single command shell to invoke all the
custom command scripts in a project.  Isolate the environment and
working directory of custom commands using setlocal/endlocal.  The
form of each command is

  set errlev=
  setlocal
  cd c:\work\dir
  if %errorlevel% neq 0 goto :cmEnd
  c:
  if %errorlevel% neq 0 goto :cmEnd
  command1 ...
  if %errorlevel% neq 0 goto :cmEnd
  ...
  commandN ...
  if %errorlevel% neq 0 goto :cmEnd
  :cmEnd
  endlocal & set errlev=%errorlevel%
  if %errlev% neq 0 goto :VCEnd

so that all changes to the environment and working directory are
isolated within the script and the return code is preserved.
2011-04-08 15:36:16 -04:00
Mathieu Malaterre 4f35488fe9 Add support for FindJava on HP-UX and alpha
This commit fixes BUG: 0010242. It now properly inspect specific directory
on hp-ux and alpha implementation of the JRE
2011-04-08 15:19:28 +02:00
Mathieu Malaterre 0378396e68 UseSWIG.cmake did not support multiple modules and parallel builds
This commit fixes BUG: 0011782. UseSWIG would be using the same variable
to declare module information. The problem would only be noticed in parallel builds
Fix this variable declaration by properly resetting it.
2011-04-08 15:17:33 +02:00
Mathieu Malaterre 55b7c87ef2 Add support for new swig 2.0 application
This commit fixes BUG: 0011843. It now properly discover if swig2.0
is in the PATH
2011-04-08 15:15:58 +02:00
Mathieu Malaterre c088536518 UseSWIG.cmake does not expand $(OutDir)
This commit fixes BUG: 0011215 by properly expanding $(OutDir)
Instead of creating the output directory using file(MAKE_DIRECTORY)
we use cmake -E to create the directory at execution time
2011-04-08 15:13:57 +02:00
Mathieu Malaterre a59d198aa3 Add support for java on fedora
This commit fixes BUG: 0011183 by adding new paths used on fedora,
specifically: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0
2011-04-08 15:12:23 +02:00
Mathieu Malaterre 5f7683317a Add support for Java on HP
This commit fixes Bug: 0011676 by adding support for version
numbering of JRE used on HP: 1.6.0.06-jinteg_20_jan_2010_05_50-b00
2011-04-08 15:10:48 +02:00
Mathieu Malaterre 1088b0278e Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake
This commit fixes BUG: 0004147 it directly uses swig executable
to compute a list of dependencies directly from the .i files
to make sure to rebuild the swig module any of its direct dep.
is touched
2011-04-08 15:07:40 +02:00
Brad King d468a2c2cb XL: Avoid copying archives into shared libraries that link them
The XL toolchain supports shared object files stored in archives.  Since
CMake lists libraries on link lines by full path it is common for a
shared library link line to contain the path to an archive file.

When linking a shared library the compiler front-end by default runs
CreateExportList to construct the list of symbols to be exported.
Unfortunately it passes all files found on the command line to the tool
so archive and library files get processed along with the object files.
The tool returns a list of all symbols in all objects, archives, and
libraries on the command line.  This causes the linker to copy every
object file out of every archive into the shared library whether they
are dependencies of the original object files or not.

Work around this problem by running CreateExportList ourselves with just
the original object files intended for inclusion in the shared library.
Then pass the list it produces on the link line to prevent the compiler
front-end from constructing its own.  This tells the linker to export
only the symbols provided by the original source files of the shared
library.
2011-04-08 08:41:36 -04:00
KWSys Robot a961ecdad0 KWSys Nightly Date Stamp 2011-04-08 00:12:56 -04:00
Brad King 2f3eee7490 XL: Consolidate compiler flag information
Factor duplicate information out of Compiler/XL-<lang>.cmake modules
into a macro in a new Compiler/XL.cmake module.  Invoke it from the
per-language files to produce the original settings.
2011-04-07 17:09:05 -04:00
Brad King 3a40c7faa4 XL: Set C++ and Fortran flags consistently with C
Since commit e1729238 (Add initial XL C compiler flags for safer builds,
2009-09-30) CMake sets the initial XL C flags to include "-qthreaded"
and "-qhalt=e".  Do the same for C++ and Fortran with this toolchain.
2011-04-07 17:07:23 -04:00
Brad King 9fc7ea4c62 find_package: Forward component list for recursive calls in modules
Some find modules call find_package recursively to locate a package
configuration file for the package instead of searching for individual
pieces.  Commit 79e9b755 (Help recursive find_package calls in modules,
2008-10-03) taught find_package to forward the version number and EXACT
arguments through the recursive call automatically.  Do the same for the
component list.
2011-04-07 15:36:05 -04:00