Commit Graph

9900 Commits

Author SHA1 Message Date
Brad King 6dde154313 CMake 2.8.1-rc4
This commit cherry-picks and squashes the following commits:

  4685872 "FortranCInterface: Fix PathScale detection..." (2010-02-16)
  b39fe94 "Fix problem with ExternalProject test..." (2010-02-17)
  70290e1 "Add support for QtDeclartive module" (2010-02-17)
  282ba89 "Clarify CMAKE_MODULE_PATH documentation" (2010-02-18)
  4eba05d "Suppress GNU flag -fPIC on Windows" (2010-02-19)
  57efb4a "BUG: We shouldn't be setting the HideWindow..." (2010-02-19)
2010-03-05 08:19:39 -05:00
Brad King f195a131cc CMake 2.8.1-rc3 2010-02-16 10:35:33 -05:00
Brad King 5f926016a9 Fix rule hash persistence file generation
We store custom command rule hashes in CMakeFiles/CMakeRuleHashes.txt
persistently across CMake runs.  When the rule hash changes we delete
the custom command output file and write a new hash into the persistence
file.

This functionality was first added by the commit 'Introduce "rule
hashes" to help rebuild files when rules change.' (2008-06-02).
However, the implementation in cmGlobalGenerator::CheckRuleHashes kept
the file open for read when attempting to rewrite a new file.  On
Windows filesystems this prevented the new version of the file from
being written!  This caused the first set of rule hashes to be used
forever within a build tree, meaning that all custom commands whose
rules changed would be rebuilt every time CMake regenerated the build
tree.

In this commit we address the problem by splitting the read and write
operations into separate methods.  This ensures that the input stream is
closed before the output stream opens the file.
2010-02-11 18:14:34 -05:00
Brad King 224dde9085 CMake 2.8.1-rc2 2010-02-11 10:50:43 -05:00
Brad King dc1d2189ae CMake 2.8.1-rc1 2010-01-28 16:48:20 -05:00
Brad King d2715cae49 CMake 2.8.0-rc7 2009-11-11 13:34:21 -05:00
Brad King 29ebc97c38 CMake 2.8.0-rc6 2009-11-10 09:03:39 -05:00
Brad King 86eac830b3 CMake 2.8.0-rc5 2009-11-03 17:25:20 -05:00
Bill Hoffman b4ae8bad4b RC 4 merge 2009-10-28 12:17:18 -04:00
Bill Hoffman ebd0c2d377 Merge in changes for RC 3 2009-10-09 16:11:47 -04:00
Bill Hoffman f9687e328f Merge in changes to CMake-2-8 RC 2 2009-10-01 17:21:28 -04:00
Bill Hoffman 3c7354c1cd Add change log and fix UMR in ctest from head. 2009-09-25 12:25:23 -04:00
Zach Mullen 5a2f24856e Output a message in ctest when each test is started 2009-09-24 13:49:20 -04:00
Zach Mullen 2e5ccdbc18 Removed comment 2009-09-24 11:09:10 -04:00
Zach Mullen 65c418e56f Reformat ctest -N output. Removed the "Start processing tests" message as well. 2009-09-24 09:49:46 -04:00
Brad King f10929ae7c Restore KWSys SystemTools _WIN32 state on cygwin
The commit "Fix KWSys SystemTools build on cygwin with -mwin32" tried to
restore the state of the _WIN32 definition that was broken by the commit
"Optimize KWSys SystemTools::FileExists on Windows".  It did so for the
case of building with -mwin32 on cygwin, but since including <windows.h>
defines _WIN32, it failed for the case of not using -mwin32.

This commit restores the state of _WIN32 in all cases by undefining it
after including <windows.h> if it was not defined beforehand.
2009-09-24 08:10:46 -04:00
KWSys Robot d6ffe2d512 KWSys Nightly Date Stamp 2009-09-24 00:01:04 -04:00
Zach Mullen 84f3f6cad6 Tests which are not run should be added to the failed test list. 2009-09-23 15:37:50 -04:00
Brad King bd33da9fcc Add Xcode SYMROOT setting for custom targets
Xcode 1.5 writes helper scripts at the projectDirPath location for
targets that do not set SYMROOT.  We now add SYMROOT to custom targets
so that all targets set it.  This prevents Xcode 1.5 from touching the
source directory now that we always set projectDirPath.

See issue #8481.
2009-09-23 14:10:08 -04:00
Alexander Neundorf 39383ef8cb Major optimization of C/C++ dependency scanning.
Now only the dependencies for the file where the dependencies actually may
have changed are rescanned, before that this was done for all source files
even if only one source file had changed.
This reduces e.g. on my machine the time for scanning the dependencies
of kdelibs/khtml/ when only one file (khtml_global.cpp) has changed from
around 7.5 seconds to 1.2 seconds.

The tests succeed, it does what I expected it to do on kdelibs, and Brad
also reviewed the patch, so I think it should be ok.

Alex
2009-09-23 14:02:05 -04:00
Clinton Stimpson 551fcc23c2 fix compile warnings 2009-09-23 13:09:56 -04:00
Brad King 4e121af95e Fix KWSys SystemTools build on cygwin with -mwin32
Commit "Optimize KWSys SystemTools::FileExists on Windows" accidentally
added "#undef _WIN32" when including <windows.h> on cygwin, which breaks
builds using the -mwin32 flag.  This commit removes that line and fixes
the real error it was intended to avoid.
2009-09-23 10:45:00 -04:00
Brad King e55bbab88b Teach Xcode generator to set XCODE_VERSION
We set the variable 'XCODE_VERSION' in the CMake language to the Xcode
version string (e.g. "3.1.2").  Platform config files may use it later.
2009-09-23 08:48:39 -04:00
KWSys Robot 07a473d5f5 KWSys Nightly Date Stamp 2009-09-23 00:01:07 -04:00
Clinton Stimpson ecfca5d0a8 fix issue 9346. add binary directory to window title to make it easier to deal with multiple cmake-gui instances 2009-09-22 18:29:35 -04:00
Brad King 61495cdaae Fix Xcode project references to the source tree
Xcode project source file references need to always be relative to the
top of the source tree in order for SCM and debug symbols to work right.
We must even allow the relative paths to cross outside of the top source
or build directories.

For subdirectory project() command Xcode projects we use the source
directory containing the project() command as the top.  Relative paths
are generated accordingly for each subproject.

See issue #8481.
2009-09-22 16:18:31 -04:00
Brad King 3fe5f8d960 Optionally force conversion to relative path
In cmLocalGenerator::ConvertToRelativePath we normally convert to
relative path only if the local and remote paths both lie inside the
source tree or both lie inside the build tree.  This commit adds an
optional 'force' argument to allow conversion even when this rule is
violated.
2009-09-22 16:16:56 -04:00
Bill Hoffman fe57e7252f Can not use cmakedefine in kwsys because bootstrap of cmake does not support it. 2009-09-22 15:59:26 -04:00
Bill Hoffman 472966ed5f Can not use cmakedefine in kwsys because bootstrap of cmake does not support it. 2009-09-22 15:58:13 -04:00
Bill Hoffman e7601ca600 Put a flag in that will stop system tools from deleting system environment memory on exit, as it can cause gcov to crash the programs. 2009-09-22 14:56:33 -04:00
Alexander Neundorf 03d032b637 Rescan dependencies also if CMakeDirectoryInformation.cmake has changed.
If CMakeDirectoryInformation.cmake is newer than depend.internal the include
directories may have changed, so dependencies need to be scanned again.
Ok by Brad.

Alex
2009-09-22 14:40:23 -04:00
Brad King 9b6c3d0782 Optimize KWSys SystemTools::FileExists on Windows
We optimize this method by using the GetFileAttributesExA native Windows
API to check for file existence when possible.  For real Windows builds
we always use it.  For Cygwin we use cygwin_conv_to_win32_path to get a
native Windows path if possible and otherwise fall back to 'access'.

Cygwin-to-Windows path conversion and cache by Wojciech Migda.
See issue #8826.
2009-09-22 13:02:20 -04:00
KWSys Robot ca29998943 KWSys Nightly Date Stamp 2009-09-22 00:01:03 -04:00
Zach Mullen 4342e37d63 More SLURM experimentation (ctest batch mode) 2009-09-21 15:29:34 -04:00
Zach Mullen a4c6f178fe Fixed a slurm batch argument identifier. 2009-09-21 14:58:30 -04:00
Zach Mullen 87b4c66ca8 Need to quote args when generating batch scripts from ctest 2009-09-21 14:21:41 -04:00
Zach Mullen e4293b4b38 Re-enabled failing tests; fixed ctest_build output to be consistent in the error condition across different make programs so that these tests would pass. 2009-09-21 13:40:40 -04:00
Bill Hoffman 43499b1ecb Fix Bug #8332, add support for .pch files for Xcode. 2009-09-21 13:18:45 -04:00
Bill Hoffman 441cd9ce0b Fix Bug #8928, add support for .xib files for Xcode. 2009-09-21 13:15:11 -04:00
KWSys Robot 004f9931a9 KWSys Nightly Date Stamp 2009-09-21 00:01:04 -04:00
KWSys Robot 2396ff9889 KWSys Nightly Date Stamp 2009-09-20 00:01:18 -04:00
Alexander Neundorf 864e2670d6 Minor optimization in dependency checking.
When reading the depend.internal file, check only once for every depender
whether it exists, instead of repeatedly in a loop for each dependee. Within
that function it can only change of the depender is removed. This is taken
care of.
This reduces the number of access() calls in kdelibs/khtml from 180000 to
90000 (i.e. 50%), and reduces the time for that (without the actual
scanning) from 0.3 s to 0.21 s on my system.

Alex
2009-09-19 13:02:12 -04:00
Brad King d4cfb77ffe Remove cmGlobalXCode21Generator subclass
This subclass of cmGlobalXCodeGenerator only provided two virtual method
overrides, and it made construction of the Xcode generator instance
complicated.  This commit removes it and replaces the virtual methods
with tests of the Xcode version.  The change removes duplicate code.
2009-09-19 12:00:09 -04:00
Brad King 180c60a86f Fix check for -isysroot on OS X
Previously we checked for this flag by parsing the version number of GCC
out of 'gcc --version', but this is not reliable because the format can
vary greatly.  Now we run 'gcc -v --help' and look for '-isysroot' in
the list of options.

We also now store the result on a per-language basis in the per-compiler
info file "CMake<LANG>Compiler.cmake".  This is necessary to make it
accessible from try-compile projects so that they generate correctly.
2009-09-19 10:14:31 -04:00
KWSys Robot 5ea5ca3c88 KWSys Nightly Date Stamp 2009-09-19 00:01:41 -04:00
Bill Hoffman e7d75864d1 Only do the OSX arch stuff on OSX. 2009-09-18 15:16:33 -04:00
Bill Hoffman 58818d5168 Add detection of gcc versions that do not support isysroot option and do not use it for them. 2009-09-18 14:22:20 -04:00
Bill Hoffman 311eb30672 Fix the build for version 2.5 of Xcode. 2009-09-18 10:28:28 -04:00
KWSys Robot b872d09ea2 KWSys Nightly Date Stamp 2009-09-18 00:01:06 -04:00
Bill Hoffman 6362d4c743 Fix case where no archs are found on older macs. 2009-09-17 16:09:52 -04:00