Commit Graph

13065 Commits

Author SHA1 Message Date
Kitware Robot 1d8199ffec CMake Nightly Date Stamp 2012-06-18 00:01:05 -04:00
Peter Kuemmel 5ead31da63 Ninja: try work around for bcc32 bug 2012-06-17 10:17:19 +02:00
Peter Kuemmel 1333b576b5 Ninja: build server fixes
Why does the other compiler give no error?
Seems there is somewhere a "using".
2012-06-17 10:09:10 +02:00
Kitware Robot 7eaaea1a02 CMake Nightly Date Stamp 2012-06-17 00:01:05 -04:00
Peter Kuemmel 9081e3a135 remove warning about unused parameter 2012-06-16 12:58:06 +02:00
Peter Kuemmel f430bea11b Ninja: maybe this fixes the bcc32 build 2012-06-16 12:54:10 +02:00
Peter Kuemmel f2c12887ba Ninja: msvc6 for-scoping 2012-06-16 12:51:25 +02:00
Peter Kuemmel 44b9bbc89d Ninja: build with old msvc versions 2012-06-16 12:40:59 +02:00
Peter Kuemmel 57156a5d30 Ninja: build server fixes
- disable cldeps on cygwin
- don't "use" namespace std
2012-06-16 12:31:50 +02:00
Kitware Robot 486c093e45 CMake Nightly Date Stamp 2012-06-16 00:01:04 -04:00
Peter Kuemmel f1abdce1cc Ninja: some bytes of the rc files couldn't be piped correctly
Write to a file again but generate it in the object dir
2012-06-15 18:56:34 +02:00
Peter Kuemmel 2de963d996 Ninja: don't remove space between command and parameters 2012-06-15 17:52:17 +02:00
Peter Kuemmel 50b6f33dbc Ninja: build cmcldeps with mingw 2012-06-15 13:46:49 +02:00
Peter Kuemmel c05653e18c Ninja: try to make GetProcessId visible 2012-06-15 13:38:52 +02:00
Peter Kuemmel ab245ff3c8 Ninja: but cl supports /nologo ... 2012-06-15 13:07:05 +02:00
Peter Kuemmel bf58e9adec Ninja: no /nologo option in old rc.exe 2012-06-15 12:49:01 +02:00
Peter Kuemmel 2fb07fc44c Ninja: Eclipse and KDevelop fixes for ninja
Thx to Claus Klein
2012-06-15 12:14:13 +02:00
Peter Kuemmel 518c06585b Ninja: don't pollute build dir with preprocessed rc files 2012-06-15 10:40:04 +02:00
Kitware Robot 5984e49764 CMake Nightly Date Stamp 2012-06-15 00:01:06 -04:00
Peter Kuemmel 41c28dc35b Ninja: be more accurate when estimating the command line length 2012-06-15 02:00:15 +02:00
Peter Kuemmel f13a6a087e Ninja: undo all the NOSHELL patches 2012-06-15 01:43:08 +02:00
David Cole 88115fe9b1 Merge topic 'EclipseParallelMakeForBuildProject'
414bf67 Eclipse: parallel build also for "Build project" #13287
2012-06-14 16:29:08 -04:00
David Cole 2d1c25d179 Merge topic 'install-case-sensitive-mac'
a41557a install: Fix FILES_MATCHING on case-sensitive Mac filesystems (#13177)
2012-06-14 16:28:54 -04:00
Alex Neundorf e4a2d5f9ee automoc: better error handling (#13299)
automoc now fails immediately if moc fails, instead of continuing
and letting the build fail later on.

Alex
2012-06-14 22:27:22 +02:00
David Cole 555bda4e43 Ninja: Restructure code to work with the Borland compilers
Should fix the Borland dashboard errors.
2012-06-14 13:39:39 -04:00
Peter Kuemmel 69bc5131b2 Ninja: remove nop line 2012-06-14 18:16:19 +02:00
Peter Kuemmel f1aa026fb9 Ninja: build with old vc versions 2012-06-14 18:02:43 +02:00
Peter Kuemmel eda3075478 Ninja: sh needs something befor and after && 2012-06-14 17:26:01 +02:00
Peter Kuemmel 1d55ea557d Ninja: fix Linux build 2012-06-14 16:01:35 +02:00
Peter Kuemmel 6e6886d3bd Ninja: ninja now also could read parentheses in .d files 2012-06-14 14:37:08 +02:00
Peter Kuemmel 6546086004 Ninja: don't use shell when cmake is called directly
When linking with cmake and vs_link_* the command line
could be too long for cmd.exe, which needs not to be
called in this case. (was not cached by a test)

Introduce rules which don't use the shell and use this
rule when there are no pre or post step.

For free we get a small speedup, because cmd is then
not called.

Also be more accurate when estimating the
command line length.
2012-06-14 14:22:56 +02:00
Peter Kuemmel 220fdc16fc Ninja: cmcldeps
- don't depend on argument order
- update help
2012-06-14 10:48:32 +02:00
Peter Kuemmel 77cb7b502f Ninja: suppress startup logos
Having Ninja's smart printing we are more allergic on
unneeded tool output.
2012-06-14 10:48:31 +02:00
Kitware Robot 7717d964b8 CMake Nightly Date Stamp 2012-06-14 00:01:05 -04:00
David Cole 2077e98753 Ninja: Enable the ninja generator by default on Windows.
All tests are passing as of this morning on the CMake dashboard in
the Nightly Expected section.

Nice job to all the Ninja+CMake contributors. Congrats!
2012-06-13 17:25:24 -04:00
Alex Neundorf 414bf6732b Eclipse: parallel build also for "Build project" #13287
Use ${CMAKE_ECLIPSE_MAKE_ARGUMENTS} also for the overall build command,
not only for the per-target commands.

Alex
2012-06-13 22:49:45 +02:00
Peter Kuemmel ab8a2a57f2 Ninja: onyl use pre processor for rc file parsing 2012-06-13 19:20:01 +02:00
Peter Kuemmel 4b43999ca3 Ninja: remove unused CommentStream 2012-06-13 17:23:31 +02:00
Peter Kuemmel 54a388beaa Ninja: extract dependencies for .rc files with msvc tools
rc.exe doesn't support /showIncludes.
Because .rc files also #include stuff we can
misuse cl.exe to get the included files.

Done one the fly by cmcldeps.
2012-06-13 17:14:16 +02:00
Brad King a41557a2c8 install: Fix FILES_MATCHING on case-sensitive Mac filesystems (#13177)
Windows and Apple machines have predominantly used case-insensitive
filesystems so our file(INSTALL) command uses case-insensitive pattern
matching.  It is implemented by converting the pattern and file path to
lower case before matching.  The FILES_MATCHING option is implemented by
excluding a path that does not match any pattern unless it is a
directory that must be searched recursively.  However, the test that an
excluded path is a directory is executed on the lower-case path and
therefore fails on mixed-case input paths on case-sensitive filesystems.
Fix the file(INSTALL) implementation to use the lower-case path only for
pattern matching and preserve the original path for tests against the
real filesystem.
2012-06-13 08:50:44 -04:00
Kitware Robot 6e2ef9860e CMake Nightly Date Stamp 2012-06-13 00:01:05 -04:00
Peter Kuemmel 43200c145d Ninja: work with ninja/master, don't compile rc files with cl
Ninja generates for paths with spaces wrong results for $out.d,
using the new DEP_FILE variable instead.
2012-06-13 00:52:46 +02:00
David Cole bc5177b99e Merge topic 'object-library-is-not-shared'
9a9b3e4 add_library: Allow OBJECT library without dynamic linking (#13289)
2012-06-12 16:01:21 -04:00
David Cole c95d1baa19 Merge topic 'position-independent-targets'
bd34963 Refactor generation of shared library flags
55d7aa4 Add platform variable for flags specific to shared libraries
31d7a0f Add platform variables for position independent code flags
2012-06-12 16:01:04 -04:00
David Cole 9297ccff9b Merge topic 'no-std-stringstream'
94de982 Avoid direct use of std::(o|)stringstream (#13272)
2012-06-12 16:00:17 -04:00
David Cole f848dbfe3c Merge topic 'VS-Fortran-Intel-2013'
8945489 VS: Set Intel Fortran 13 project version
2012-06-12 15:59:41 -04:00
David Cole daf552e3ed Merge topic 'makefile-escape-equals'
ee6c1b8 Makefile: Support directory names containing '=' (#12934)
2012-06-12 15:59:28 -04:00
David Cole 2b3b45aec9 Merge topic 'archive-exclude-file-flags'
a34015d cmArchiveWrite: Clear fflags from archive entries
2012-06-12 15:59:01 -04:00
David Cole 4075e1ca6c Merge topic 'KWSys-hashtable-old-gcc'
4f170e2 KWSys: Fix hashtable prime list on g++ 2.9 (#13273)
2012-06-12 15:58:42 -04:00
Brad King 32313fd0d4 Merge branch 'ninja-rspfile' into no-std-stringstream
Conflicts:
	Source/cmGlobalNinjaGenerator.cxx
	Source/cmLocalNinjaGenerator.cxx
	Source/cmNinjaNormalTargetGenerator.cxx
2012-06-12 15:43:32 -04:00
Brad King 94de982902 Avoid direct use of std::(o|)stringstream (#13272)
Older C++ compilers do not provide a standard std::stringstream.
Use our compatibility interfaces instead.

Also avoid std::stringstream(openmode) signature.  Our approximate
stringstream implementation provided when the standard one is not
available does not support the openmode argument.
2012-06-12 15:40:24 -04:00
Stephen Kelly bd34963002 Refactor generation of shared library flags
CMAKE_SHARED_LIBRARY_<lang>_FLAGS has flags on various platforms for a
variety of purposes that are correlated with shared libraries but not
exclusive to them.  Refactor generation of these flags to use new
purpose-specific platform variables

  CMAKE_<lang>_COMPILE_OPTIONS_DLL
  CMAKE_<lang>_COMPILE_OPTIONS_PIC
  CMAKE_<lang>_COMPILE_OPTIONS_PIE

Activate the DLL flags specifically for shared libraries.  Add a new
POSITION_INDEPENDENT_CODE target property to activate PIC/PIE flags, and
default to true for shared libraries to preserve default behavior.
Initialize the new property from CMAKE_POSITION_INDEPENDENT_CODE to
allow easy global configuration in projects.

Although the default behavior is unchanged by this refactoring, the new
approach ignores CMAKE_SHARED_LIBRARY_<lang>_FLAGS completely.  We must
leave it set in case projects reference the value.  Furthermore, if a
project modifies CMAKE_SHARED_LIBRARY_<lang>_FLAGS it expects the new
value to be used.  Add policy CMP0018 to handle compatibility with
projects that modify this platform variable.

Add a PositionIndependentCode test on platforms where we can get
meaningful results.
2012-06-12 15:38:48 -04:00
Peter Kuemmel 12cc6434bf Ninja: ninja can't read dep. pathes with parentheses 2012-06-12 14:36:39 +02:00
Peter Kuemmel 5590625fa3 Ninja: use slashes for include dirs, so also slahes are in the .d files 2012-06-12 13:52:32 +02:00
Kitware Robot ebc702c86d CMake Nightly Date Stamp 2012-06-12 00:01:04 -04:00
Peter Kuemmel 38aa9e97f2 Ninja: complete MinGW support 2012-06-12 04:17:55 +02:00
Peter Kuemmel c54ef23c16 Line Length: <79 2012-06-12 00:51:08 +02:00
Brad King 9a9b3e45e3 add_library: Allow OBJECT library without dynamic linking (#13289)
When global property TARGET_SUPPORTS_SHARED_LIBS is FALSE we should
still allow OBJECT libraries.  This was an oversight in commit b87d7a60
(Add OBJECT_LIBRARY target type, 2012-03-12).  While at it, fix the
warning message to report context.
2012-06-11 08:40:11 -04:00
Kitware Robot 931af7fd78 CMake Nightly Date Stamp 2012-06-11 00:01:04 -04:00
Peter Kuemmel 4db9dd89df Ninja: use slahes in .d files 2012-06-10 21:27:25 +02:00
Peter Kuemmel ba8d0db217 Ninja: don't pollute the rules file with useless comments 2012-06-10 20:20:29 +02:00
Peter Kuemmel 343ff7a72e Ninja: fix line length 2012-06-10 15:31:06 +02:00
Peter Kuemmel 1a38a5d65f Ninja: allow spaces in cldeps's .d file 2012-06-10 15:22:01 +02:00
Kitware Robot b39924cf22 CMake Nightly Date Stamp 2012-06-10 00:01:03 -04:00
Peter Kuemmel db607dea8d Ninja: don't use cmcldeps for try_compile 2012-06-09 14:12:11 +02:00
Kitware Robot 45a9ce5543 CMake Nightly Date Stamp 2012-06-09 00:01:04 -04:00
Peter Kuemmel 941afa571c Ninja: allow spaces in source path
And make /showIncude prefix visible for all build rules
2012-06-08 22:59:18 +02:00
Peter Kuemmel 033a687acd Ninja: add wrapper for cl to extract dependencies
cmcldeps wraps cl and adds /showInclude before calling cl.
It parses the output of cl for used headers, drops system
headers and writes them to a GCC like dependency file.

cmcldeps uses ATM ninja code for process handling,
but could be ported later to SystemTools.

TODO: Why needs ninja multiple calls in the BuildDepends test?
2012-06-08 17:42:11 +02:00
Kitware Robot 03deea00bc CMake Nightly Date Stamp 2012-06-08 00:01:05 -04:00
Peter Kuemmel 1d40729eaa Ninja: add dependency tracking for msvc with cldeps 2012-06-07 23:34:48 +02:00
Kitware Robot 5ed6a36cc9 CMake Nightly Date Stamp 2012-06-07 00:01:05 -04:00
Zaheer Chothia 8945489c07 VS: Set Intel Fortran 13 project version
I have tested that it works with:

 Microsoft Visual Studio 10.0.40219.1
 Intel Visual Fortran 13.0.0.041 Beta Build 20120425
2012-06-06 12:23:25 -04:00
Brad King ee6c1b8aca Makefile: Support directory names containing '=' (#12934)
Since commit c8ef6430 (Allow directory names containing '=' and warn if
necessary, 2012-02-06) we allow directories with '=' instead of
rejecting them as was previously done since commit 8704525f (Reject
directory names containing '=', 2011-01-14).  However, we did not warn
in all cases that '=' may cause failure, such as when it appears on the
right-hand side of a dependency line.

Both commits above were made assuming that '=' cannot be escaped in Make
syntax, but it can be achieved with a variable:

  EQUALS = =
  left$(EQUALS)side : right$(EQUALS)side

Use this approach to escape '=' in dependency lines, thus supporting
the character in paths.

All our tests now pass when CMake is built in source and build trees
both containing '=', except for the "OutOfSource" test.  It fails in
its coverage of the obscure "OutOfBinary" test case where part of the
build tree is located outside the main build tree of the test.  The
reason is that CMake must invoke a command like

  $(MAKE) -f /path/with=sign/build.make /path/with=sign/somefile

but the make tool interprets the last argument as a variable assignment.
This is an acceptable limitation, since the case is so obscure, in
exchange for supporting '=' cleanly otherwise.
2012-06-06 08:30:54 -04:00
Brad King a34015d356 cmArchiveWrite: Clear fflags from archive entries
When reading archive entries from disk strip any "fflags" entry headers
that may have been loaded from the filesystem when libarchive is built
with HAVE_STRUCT_STAT_ST_FLAGS (struct stat has 'st_flags').  The local
filesystem flags are not useful for distribution.  Furthermore, GNU tar
does not understand the "SCHILY.fflags" extended header used to store
the flags in the archive.  Use the approach from commit e8558efa
(cmArchiveWrite: Clear xattr and acl from entries, 2011-04-07) to remove
the flags and avoid producing the non-portable extended header.
2012-06-06 07:29:19 -04:00
Peter Kuemmel e3a1f727f7 Ninja: find mingw's resource compiler 2012-06-06 13:02:30 +02:00
Kitware Robot eb53bc2773 CMake Nightly Date Stamp 2012-06-06 00:01:04 -04:00
Peter Kuemmel c60557e973 Ninja: don't break because of empty commands 2012-06-06 01:36:34 +02:00
Peter Kuemmel 128fe5d504 Ninja: also create rspfile rules 2012-06-05 23:40:42 +02:00
Peter Kuemmel 0266c9bd19 Ninja: check for valid pointer 2012-06-05 23:29:29 +02:00
Peter Kuemmel 5aab7f90f1 Ninja: 30000 is too long for windows cmd 2012-06-05 23:21:01 +02:00
Peter Kuemmel ad4a768d59 Ninja: add response file support on Windows
When MinGW is used slashes are used for dependencies
because ar.exe can't read rsp files with backslashes.

Many thx to Claus Klein for starting working on this.
2012-06-05 22:39:42 +02:00
Daniel R. Gomez 4f170e2575 KWSys: Fix hashtable prime list on g++ 2.9 (#13273)
Building CMake with g++ 2.9-aix51-020209 on an AIX 5.3 system gives:

 cmsys/hashtable.hxx: In function `const long unsigned int *cmsys::get_stl_prime_list ()':
 cmsys/hashtable.hxx:399: warning: sorry: semantics of inline function static data
  `const long unsigned int _stl_prime_list[31]' are wrong (you'll wind up with multiple copies)
 cmsys/hashtable.hxx:399: warning: you can work around this by removing the initializer

Give get_stl_prime_list internal linkage.
2012-06-05 16:23:09 -04:00
David Cole 7687d557dc Merge topic 'Ninja-EXPORT_COMPILE_COMMANDS'
3545645 Exclude the CompileCommandOutput test on WIN32.
fbaddf4 Escape the source file to be compiled if required.
db839be Make the CMAKE_EXPORT_COMPILE_COMMANDS option work with Ninja.
8778357 Add newline to the output.
2c04bc0 Move the EscapeJSON method to a sharable location.
2012-06-05 14:21:36 -04:00
David Cole 80abbeb3f2 Merge topic 'vcexpress-no-folder'
a0700ba VC Express doesn't support folders, ignore USE_FOLDER property
2012-06-05 14:21:28 -04:00
Kitware Robot 55cadb6806 CMake Nightly Date Stamp 2012-06-05 00:01:05 -04:00
Stephen Kelly fbaddf4e40 Escape the source file to be compiled if required.
Whitespaces in paths can otherwise cause invalid command lines to
be generated.
2012-06-04 23:42:37 +02:00
Stephen Kelly db839bec7d Make the CMAKE_EXPORT_COMPILE_COMMANDS option work with Ninja. 2012-06-04 23:42:37 +02:00
Stephen Kelly 2c04bc00a4 Move the EscapeJSON method to a sharable location. 2012-06-04 23:42:37 +02:00
Kitware Robot 1ccbfdebb9 CMake Nightly Date Stamp 2012-06-04 00:01:02 -04:00
Kitware Robot c645c1fd96 CMake Nightly Date Stamp 2012-06-03 00:01:04 -04:00
Peter Kuemmel a0700ba26c VC Express doesn't support folders, ignore USE_FOLDER property 2012-06-02 19:58:03 +02:00
Kitware Robot 076ab5202a CMake Nightly Date Stamp 2012-06-02 00:01:02 -04:00
Kitware Robot e200ee6ece CMake Nightly Date Stamp 2012-06-01 00:01:03 -04:00
Kitware Robot f1eee26be3 CMake Nightly Date Stamp 2012-05-31 00:01:02 -04:00
Kitware Robot 48a09755a0 CMake Nightly Date Stamp 2012-05-30 00:01:03 -04:00
David Cole 932ea59d51 Merge topic 'cpack-nsis-menu-links-adapted'
cfc11f9 CPack: Fixed incorrect error log for CPACK_NSIS_MENU_LINKS.
2012-05-29 15:37:35 -04:00
David Cole 28ce13f2fb Merge topic 'IMPORTED_LOCATION_CONFIG-docs'
bdc6e32 Update the docs of IMPORTED_LOCATION_CONFIG to match the code.
2012-05-29 15:37:23 -04:00
David Cole 1b9948cb79 Merge topic 'kwsys-no-win32-environ-decl'
0fbaa63 KWSys: Remove unused environ declaration from SystemTools
2012-05-29 15:37:11 -04:00
Kitware Robot 19af2416b7 CMake Nightly Date Stamp 2012-05-29 00:01:03 -04:00
Fraser Hutchison cfc11f9bff CPack: Fixed incorrect error log for CPACK_NSIS_MENU_LINKS.
This was a pull request: https://github.com/Kitware/CMake/pull/5

Signed-off-by: Eric NOULARD <eric.noulard@gmail.com>
2012-05-28 17:15:29 +02:00
Kitware Robot 1e1f61d4c1 CMake Nightly Date Stamp 2012-05-28 00:01:03 -04:00
Kitware Robot b313e8ceed CMake Nightly Date Stamp 2012-05-27 00:01:02 -04:00
Kitware Robot 66d7669a3d CMake Nightly Date Stamp 2012-05-26 00:01:04 -04:00
Stephen Kelly bdc6e32d32 Update the docs of IMPORTED_LOCATION_CONFIG to match the code. 2012-05-25 12:22:27 +02:00
Kitware Robot b639549c67 CMake Nightly Date Stamp 2012-05-25 00:01:04 -04:00
David Cole bc936c1cd5 Merge topic 'fortran-include-angle'
ad21079 Fortran: Follow <>-style includes (#13239)
2012-05-24 13:38:41 -04:00
David Cole 3e23da0688 Merge topic 'CPack-activateRPM-DEB-onMacOS'
801ea70 Calm down Borland compiler warning about "always true"
2a34b57 CPack allow RPM and DEB generator to be used on OSX.
2012-05-24 13:38:13 -04:00
David Cole db1857e142 Merge topic 'CPackNSIS-warnDESTDIRandABSOLUTE'
4986d52 Use CPACK_xxx and CMAKE_xxx in a consistent way.
f90223c Fix KWStyle warning
47f0dbd CPack add necessary check to detect/warns/error on ABSOLUTE DESTINATION
6ba055b CPack add easy possibility to warn about CPACK_SET_DESTDIR
2012-05-24 13:38:03 -04:00
David Cole 59bdb879e8 Merge topic 'MakeDefaultInstallComponentNameConfigurable'
b71e731 -add docs for ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME}
7ced073 make default install component name configurable
b6fba35 -strip trailing whitespace
2012-05-24 13:37:54 -04:00
Kitware Robot 1e3dde2ddb CMake Nightly Date Stamp 2012-05-24 00:01:04 -04:00
Brad King 0fbaa63cb2 KWSys: Remove unused environ declaration from SystemTools
Commit "KWSys: Fix SystemTools environment memory handling" (2012-04-26)
added a _WIN32 case inside !KWSYS_CXX_HAS_ENVIRON_IN_STDLIB_H to dllimport
the "environ" global.  Howver, KWSYS_CXX_HAS_ENVIRON_IN_STDLIB_H is true
on every Windows toolchain we support so the case is never reached.
Furthermore, even if it were reached the use of dllimport is incorrect
because the toolchain might not be compiling with a dynamic runtime
library.  Remove the unused incorrect line and supporting conditionals.
2012-05-23 08:32:57 -04:00
Kitware Robot 4df451131b CMake Nightly Date Stamp 2012-05-23 00:01:03 -04:00
Brad King ad2107903a Fortran: Follow <>-style includes (#13239)
Fortran sources that pass through the C preprocessor may use

 #include "header"

syntax or

 #include <header>

syntax.  CMake already follows the former.  Teach it to follow the
latter.
2012-05-22 14:07:24 -04:00
Kitware Robot f2656e4ccb CMake Nightly Date Stamp 2012-05-22 00:01:04 -04:00
Eric NOULARD 801ea70c08 Calm down Borland compiler warning about "always true" 2012-05-21 14:39:18 +02:00
Kitware Robot 4af648041d CMake Nightly Date Stamp 2012-05-21 00:01:04 -04:00
Eric NOULARD 2a34b57938 CPack allow RPM and DEB generator to be used on OSX.
More generally add the check for possible generator "activation" at
runtime depending on a generator specific check.
The dynamic behavior is currently implemented only for MacOS
and should be fully backward compatible for other system.

Inspired-By Tom Hughes <tomtheengineer@gmail.com>
2012-05-20 22:04:32 +02:00
Eric NOULARD 4986d525af Use CPACK_xxx and CMAKE_xxx in a consistent way.
CMAKE_xxx vars are now used in the CMake-generated cmake_install.cmake
script while CPACK_xxx equivalent vars are used from within CPack.
CPack is responsible for getting/forwarding definitions of
CPACK_xxxx var corresponding to CMAKE_xxxx when invoking
CMake-generated install scripts.
As a consequence:
CMAKE_ABSOLUTE_DESTINATION_FILES
CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION
CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
may be used from outside CPack as well.
e.g.
cmake -DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=1 -P cmake_install.cmake
works as expected.
2012-05-20 17:28:54 +02:00
Kitware Robot 4742eec96a CMake Nightly Date Stamp 2012-05-20 00:01:02 -04:00
Kitware Robot e2d71bb693 CMake Nightly Date Stamp 2012-05-19 00:01:02 -04:00
Kitware Robot cb37cae691 CMake Nightly Date Stamp 2012-05-18 00:01:04 -04:00
David Cole 8e9929d527 Merge topic 'ninja-error-failbit'
b94514f Ninja: mark rules/build file streams failed if error occurred (#13067, #13105)
2012-05-17 15:00:01 -04:00
David Cole 78733119cb Merge topic 'ninja-issue-13069'
d807aab Ninja: apply CMAKE_<LANG>_FLAGS_<TYPE> to executable targets (#13069)
2012-05-17 14:59:52 -04:00
David Cole e1c5691a0f Merge topic 'cmake-trace-elseif'
b3b095a Print any evaluated 'elseif'/'else' commands in trace mode (#13220)
2012-05-17 14:59:39 -04:00
David Cole 0c03cbabc4 Merge topic 'xcode-storyboard-files'
d59ba0c Xcode: Recognize storyboard source files (#13214)
2012-05-17 14:59:17 -04:00
David Cole 8e9101a0cb Merge topic 'mumps_coverage'
c806b23 CDash now supports lots of files in coverage. So, show all files.
761d931 Do not try to run bullseye coverage if COVFILE env is empty.
5b69ce4 Update test data to match new coverage format.
1b418f1 Change GT.M Coverage Parser global
b0c07a1 Disable bullseye coverage for mumps coverage test.
0a169e6 Remove uncovered files from cache coverage data.
a7abf5e Add ability to specify more than one package directory or coverage directory.
220afca Use <TARGET_FILE> expression to run ctest so it works with Xcode and VS IDE.
62f6bce Use a script to run the test because WORKING_DIRECTORY is not in 2.8.2.
f5c5db0 Fix some warnings and a bug where it went past the length of a vector.
7955e99 Add support for Cache coverage.
a86cd33 Add virutal destructor to silence warning.
319eeb0 Add test for mumps coverage. Also refactor code to prepare for cache coverage.
72210c2 Fix line length.
dd07161 Fix warning about char* instead of const char*.
e6412e0 Add support to ctest for GTM mumps coverage.
2012-05-17 14:58:54 -04:00
David Cole 8f635d0268 Merge topic 'vs11-arm-generator'
5af93bb VS11: Fix ARM architecture hint typo (#13077)
0fa3d09 VS11: Add ARM architecture generator (#13077)
2012-05-17 14:58:41 -04:00
David Cole c47f904874 Merge topic 'ninja_convenience_targets'
92cee76 Ninja: Add a convenient 'help' target.
3bd41f2 Ninja: Add a convenient 'clean' target.
2012-05-17 14:58:31 -04:00
David Cole 8519085803 Merge topic 'CPack-preserveTimestampInSourcePackage'
3d10f65 CPack - preserve timestamp for CPACK_INSTALLED_DIRECTORIES. fixes: #0013193
2012-05-17 14:58:20 -04:00
Kitware Robot 3e0580ba65 CMake Nightly Date Stamp 2012-05-17 00:01:03 -04:00
Peter Collingbourne b94514f020 Ninja: mark rules/build file streams failed if error occurred (#13067, #13105)
This causes cmGeneratedFileStream to delete the temporary files,
rather than overwriting the (working) existing files.
2012-05-17 00:00:16 +01:00
Peter Collingbourne d807aab28f Ninja: apply CMAKE_<LANG>_FLAGS_<TYPE> to executable targets (#13069)
Based on a patch by Zaheer Chothia!
2012-05-16 22:56:42 +01:00
Brian Helba b3b095a933 Print any evaluated 'elseif'/'else' commands in trace mode (#13220)
In trace mode ('--trace'), any 'elseif' or 'else' commands that are
evaluated as part of a conditional block will be printed.  Previously,
only the opening 'if' command of a conditional block was printed.
2012-05-16 09:07:55 -04:00
Kitware Robot e78483c08e CMake Nightly Date Stamp 2012-05-16 00:01:03 -04:00
Eric NOULARD f90223cafc Fix KWStyle warning 2012-05-15 07:54:42 +02:00
Kitware Robot 0977250ba0 CMake Nightly Date Stamp 2012-05-15 00:01:04 -04:00
Eric NOULARD 47f0dbd70b CPack add necessary check to detect/warns/error on ABSOLUTE DESTINATION
The [usually] wrong usage of absolute DESTINATION in INSTALL rules
keeps popping-up on the ML. We shall have some way to:
  1) easily detect it.
  2) forbids this for some CPack generator like NSIS
In fact it should certainly be forbidden for *any* generators
when used on Windows but we may implements that on top of the current
patch.
The patch ask the task to the generated cmake_install.cmake scripts.
Those scripts are a little bit more complicated with that but
iff there are absolute DESTINATION. This cost nothing if relative
DESTINATION are used.
Two new vars are introduced (and documented to handle that):
CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION
and
CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
2012-05-14 23:29:42 +02:00
Alex Neundorf b71e731b9b -add docs for ${CMAKE_INSTALL_DEFAULT_COMPONENT_NAME}
Alex
2012-05-14 22:19:30 +02:00
Alex Neundorf 7ced0732e8 make default install component name configurable
Until now an unnamed component was always named "Unspecified".
Now this name is taken from the new cmake variable CMAKE_INSTALL_DEFAULT_COMPONENT_NAME,
which is initialized to "Unspecified". But it can now be set to something
project-specific, per directory

Alex
2012-05-14 22:19:12 +02:00
Jan Schaffmeister d59ba0c591 Xcode: Recognize storyboard source files (#13214) 2012-05-14 14:56:20 -04:00
Eric NOULARD 6ba055bacd CPack add easy possibility to warn about CPACK_SET_DESTDIR
CPackNSIS will only warn but sooner or later it should error out
2012-05-14 20:26:15 +02:00
Kitware Robot 75c0304a9e CMake Nightly Date Stamp 2012-05-14 00:01:03 -04:00
Alex Neundorf b6fba35411 -strip trailing whitespace
Alex
2012-05-13 17:38:31 +02:00
Kitware Robot c7dab4b936 CMake Nightly Date Stamp 2012-05-13 00:01:02 -04:00
Kitware Robot b149d1ed05 CMake Nightly Date Stamp 2012-05-12 00:01:03 -04:00
Bill Hoffman c806b23cfe CDash now supports lots of files in coverage. So, show all files.
Prior to this commit the mumps coverage only showed files that
had at least one line of coverage. Now 0% covered files are shown
as well.
2012-05-11 15:22:25 -04:00
Kitware Robot a2f5d14c73 CMake Nightly Date Stamp 2012-05-11 00:01:03 -04:00
Kitware Robot 9d9fc18ffa CMake Nightly Date Stamp 2012-05-10 00:01:03 -04:00
Nicolas Despres 92cee7626c Ninja: Add a convenient 'help' target. 2012-05-09 19:08:12 +02:00
Nicolas Despres 3bd41f2eb5 Ninja: Add a convenient 'clean' target.
It has been asked on the mailing list:
http://public.kitware.com/pipermail/cmake-developers/2012-April/003805.html
2012-05-09 19:08:12 +02:00
Eric NOULARD 3d10f65e39 CPack - preserve timestamp for CPACK_INSTALLED_DIRECTORIES. fixes: #0013193 2012-05-09 18:02:13 +02:00
Minmin Gong 0fa3d09369 VS11: Add ARM architecture generator (#13077) 2012-05-09 09:12:13 -04:00
Kitware Robot ad5c9d06c4 CMake Nightly Date Stamp 2012-05-09 00:01:04 -04:00
Bill Hoffman 761d93129f Do not try to run bullseye coverage if COVFILE env is empty. 2012-05-08 14:47:13 -04:00
David Cole e7e9f242db Merge topic 'vs-osx-framework-headers'
470f39c VS: Restore header files marked as OS X Framework content (#13196)
2012-05-08 14:33:39 -04:00
David Cole 6f07948486 Merge topic 'doc-html-index'
707afd1 Documentation: Improve HTML section index format
2012-05-08 14:33:25 -04:00
David Cole 41d3dfc1ef Merge topic 'FixMultipleResultsInFeatureSummary'
1f8f58a fix #13195: avoid multiple mentions of found packages
2012-05-08 14:33:13 -04:00
David Cole 3f781264d2 Merge topic 'fix-13121-handle-gcov47-output'
56f499d CTest: Modify reg ex so it also works with gcov 4.7 output (#13121)
2012-05-08 14:33:02 -04:00
David Cole fb337c66b8 Merge topic 'doc-NO_SONAME-typo'
1aa5216 Fix a few typos in NO_SONAME property description.
2012-05-08 14:32:43 -04:00
David Cole da0dc9edd7 Merge topic 'kwsys-no-depend-FundamentalType'
221b5b6 KWSys: Remove dependencies on FundamentalType
2012-05-08 14:32:31 -04:00
Kitware Robot 21aea010c4 CMake Nightly Date Stamp 2012-05-08 00:01:05 -04:00
Joseph Snyder 1b418f1fbf Change GT.M Coverage Parser global
The coverage global should be in the local namespace.  This means the global
will be ^ZZCOVERAGE instead of ^COVERAGE.  Change the parser to look for ^ZZCOVERAGE
instead of the old ^COVERAGE
2012-05-07 15:29:52 -04:00
Brad King 470f39cf4e VS: Restore header files marked as OS X Framework content (#13196)
Header files listed in a target's PUBLIC_HEADER or similar properties
are marked as OS X Framework content.  Refactoring performed by

 commit 11d9b211 (Add cmGeneratorTarget to represent a target during generation, 2012-03-07)
 commit 45c2f932 (Simplify cmMakefileTargetGenerator using cmGeneratorTarget, 2012-03-07)
 commit 328c0f65 (Simplify cmVisualStudio10TargetGenerator source classification, 2012-03-19)

and related commits accidentally removed such files from treatment as
normal header files by the VS generator (generators other than Makefiles
and Xcode).  Move handling of such files out of cmGeneratorTarget and
back to cmMakefileTargetGenerator.  The central cmGeneratorTarget
classification will always treat them as header or extra sources.
2012-05-07 15:28:19 -04:00
Brad King 707afd1ed0 Documentation: Improve HTML section index format
Add a newline after section index list items.  This makes the generated
HTML source more readable.
2012-05-07 08:51:57 -04:00
Kitware Robot c5a67a7fec CMake Nightly Date Stamp 2012-05-07 00:01:03 -04:00
Alex Neundorf 1f8f58a0b9 fix #13195: avoid multiple mentions of found packages
Now before adding a package to the list of found or not-found
packages, the package is remvoed from both lists before.

Alex
2012-05-06 16:32:10 +02:00
Kitware Robot b4a189fd14 CMake Nightly Date Stamp 2012-05-06 00:01:04 -04:00
Kitware Robot 98ff9dfc5a CMake Nightly Date Stamp 2012-05-05 00:01:04 -04:00
Kitware Robot c196e9ea35 CMake Nightly Date Stamp 2012-05-04 00:01:03 -04:00
David Cole 56f499dcef CTest: Modify reg ex so it also works with gcov 4.7 output (#13121) 2012-05-03 17:08:19 -04:00
Kitware Robot 9a6d7881fd CMake Nightly Date Stamp 2012-05-03 00:01:05 -04:00
Bill Hoffman 0a169e628b Remove uncovered files from cache coverage data.
Cache coverage data currently contains files with 0 coverage
on each line. This change will remove those files from the coverage
sent to CDash.
2012-05-02 17:23:01 -04:00
Bill Hoffman a7abf5e090 Add ability to specify more than one package directory or coverage directory. 2012-05-02 16:47:24 -04:00
Modestas Vainius 1aa52163ef Fix a few typos in NO_SONAME property description. 2012-05-02 15:14:05 -04:00
Brad King 221b5b6977 KWSys: Remove dependencies on FundamentalType
The hash_fun.hxx header is configured whether FundamentalType is enabled
or not and so cannot depend on it.  Run the relevant platform tests
whether or not FundamentalType is on and configure the result directly
into hash_fun.  While at it, remove the dependence of SystemInformation
on FundamentalType too since it needs only information that we now
always compute.
2012-05-02 08:46:10 -04:00
Kitware Robot 3817314e2a CMake Nightly Date Stamp 2012-05-02 00:01:04 -04:00
Bill Hoffman f5c5db0753 Fix some warnings and a bug where it went past the length of a vector.
Fix a kwstyle warning and an unused variable warning. Also fix a case
where it could crash because a vector was referenced passed its
end.
2012-05-01 17:32:23 -04:00
Bill Hoffman 7955e995ec Add support for Cache coverage.
This adds support for Cache coverage parsing. A test is added
that does a basic run of the coverage on a small bit of data.
2012-05-01 17:00:43 -04:00
Bill Hoffman a86cd33cdd Add virutal destructor to silence warning. 2012-05-01 14:36:18 -04:00
David Cole 17c65d1c44 Merge topic 'cmake-gui-thread-wait'
2c050a2 cmake-gui: Wait for configure/generate thread to complete before exiting.
2012-05-01 14:10:26 -04:00
David Cole 8df7aa54f0 Merge topic 'module-no-soname'
fdb3f87 Test NO_SONAME property (#13155)
e1409ac Support building shared libraries or modules without soname (#13155)
2012-05-01 14:09:59 -04:00
David Cole 28de11291a Merge topic 'vs10-source-paths'
d931ce9 VS10: Generate relative source paths when possible (#12570)
b2e7c7a VS11: Do not use source path conversion workaround specific to VS 10
4248132 VS10: Convert paths normally unless forced to relative
c2ba6ba VS10: Simplify vcxproj.filter file generation
4f2d9d2 VS10: Refactor custom commands to use WriteSource
2012-05-01 14:09:22 -04:00
David Cole c75f404065 Merge topic 'kwsys-environ-cleanup'
e48796b KWSys: Fix SystemTools environment memory handling (#13156)
b10c5cb CTest: Simplify environment save/restore
2012-05-01 14:09:12 -04:00
David Cole 4db78c7c01 Merge topic 'doc-html-anchors'
dfccdd6 Documentation: Fix HTML anchor ranges
2012-05-01 14:08:34 -04:00
David Cole 2d8e2daffe Merge topic 'ctest_memcheck-xml-encoding'
3da577d CTest: Escape MemCheck test output for XML (#13124)
2012-05-01 14:08:25 -04:00
David Cole d9427c9667 Merge topic 'try-compile-cleanup-dirs'
953257c try_compile: Cleanup temporary directories (#13160)
2012-05-01 14:08:03 -04:00
David Cole 58cc3d1fc4 Merge topic 'kwsys-remove-DateStamp'
5f807a6 KWSys: Remove DateStamp
2012-05-01 14:07:52 -04:00
Bill Hoffman 319eeb0247 Add test for mumps coverage. Also refactor code to prepare for cache coverage.
Add a simple test to make sure the GTM mumps coverage is working.
Also refactor the code so that cache coverage can be added.
2012-05-01 13:35:07 -04:00
Kitware Robot 94f17c696c CMake Nightly Date Stamp 2012-05-01 00:01:03 -04:00
Clinton Stimpson 2c050a2e11 cmake-gui: Wait for configure/generate thread to complete before exiting.
A prevous fix to interrupt granularity makes it so we don't have to wait very long.
2012-04-30 13:12:16 -06:00
Modestas Vainius e1409ac59b Support building shared libraries or modules without soname (#13155)
Add a boolean target property NO_SONAME which may be used to disable
soname for the specified shared library or module even if the platform
supports it.  This property should be useful for private shared
libraries or various plugins which live in private directories and have
not been designed to be found or loaded globally.

Replace references to <CMAKE_SHARED_LIBRARY_SONAME_${LANG}_FLAG> and
hard-coded -install_name flags with a conditional <SONAME_FLAG> which is
expanded to the value of the CMAKE_SHARED_LIBRARY_SONAME_${LANG}_FLAG
definition as long as soname supports is enabled for the target in
question.  Keep expanding CMAKE_SHARED_LIBRARY_SONAME_${LANG}_FLAG in
rules in case third party projects still use it.  Such projects would
not yet use NO_SONAME so the adjacent <TARGET_SONAME> will always be
expanded.  Make <TARGET_INSTALLNAME_DIR> NO_SONAME aware as well.  Since
-install_name is soname on OS X, this should not be a problem if this
variable is expanded only if soname is enabled.

The Ninja generator performs rule variable substitution only once
globally per rule to put its own placeholders.  Final substitution is
performed by ninja at build time.  Therefore we cannot conditionally
replace the soname placeholders on a per-target basis.  Rather than
omitting $SONAME from rules.ninja, simply do not write its contents for
targets which have NO_SONAME.  Since 3 variables are affected by
NO_SONAME ($SONAME, $SONAME_FLAG, $INSTALLNAME_DIR), set them only if
soname is enabled.
2012-04-30 11:50:27 -04:00
Kitware Robot 711f3ccb04 CMake Nightly Date Stamp 2012-04-30 00:01:02 -04:00
Kitware Robot cfb909afb8 CMake Nightly Date Stamp 2012-04-29 00:01:03 -04:00
Kitware Robot 262a259e77 CMake Nightly Date Stamp 2012-04-28 00:01:03 -04:00
Brad King d931ce9fe0 VS10: Generate relative source paths when possible (#12570)
Since commit ed0075bd (Use relative paths for custom command inputs,
2011-06-22) CMake generates full paths to source files in VS 10 project
files to avoid trouble with deep source/build tree paths.  However, the VS
10 IDE will not populate the source file property dialog for a file
referenced by full path.  Instead use a relative path when possible.  When
not possible produce a detailed warning explaining the problem and
suggesting use of shorter directory paths.
2012-04-27 14:14:36 -04:00
Brad King b2e7c7aef0 VS11: Do not use source path conversion workaround specific to VS 10
CMake <= 2.8.4 generated VS 10 project files with a relative path to
source files.  Then commit ed0075bd (Use relative paths for custom command
inputs, 2011-06-22) switched to using relative paths only for source files
holding custom commands and full paths for other sources.  This behavior
was inhereted by the VS 11 generator but is not needed so use the
workaround only for exactly VS 10.  Explain the behavior in comments.
2012-04-27 13:17:16 -04:00
Brad King 4248132e59 VS10: Convert paths normally unless forced to relative
Most CMake generators produce relative paths within the build tree and
full paths to files outside the build tree.  Make VS 10 and VS 11
project files consistent with this approach except for paths forced to
be relative to work around a VS 10 bug.
2012-04-27 11:53:40 -04:00
Brad King c2ba6ba4fc VS10: Simplify vcxproj.filter file generation
Remove the duplicate source file classification logic used to generate
the filter files.  Instead record during the main vcxproj file
generation the source files generated for each tool.  Also record
whether or not each source file is converted to a relative path.  Use
the recorded result during filter generation to ensure consistency
between the project file and filter file.
2012-04-27 10:00:00 -04:00
Brad King 4f2d9d2da5 VS10: Refactor custom commands to use WriteSource
All other source file elements are already written through WriteSource.
Refactor custom command source element generation into WriteSource too.
2012-04-27 09:15:03 -04:00
Brad King e48796b26b KWSys: Fix SystemTools environment memory handling (#13156)
The SystemTools::PutEnv function tries to provide the "putenv" API
without leaking memory.  However, the kwsysDeletingCharVector singleton
frees memory that may still be referenced by the environment table,
having been placed there by putenv.  If any static destruction or
processing by an external tool happens after the singleton is destroyed
and accesses the environment it will read invalid memory.

Replace use of putenv with setenv/unsetenv when available.  The latter
manage internal copies of the values passed instead of referencing the
original memory.  When setenv/unsetenv are not available use putenv with
a singleton that removes its values from the environment before freeing
their memory.  This requires an "unputenv" implementation.  On at least
some platforms it must be written in terms of "putenv" because other
APIs are not available and direct modification of the "environ" global
is not safe (e.g. on Windows there is interaction with "wenviron").
Fortunately either putenv("A=") or putenv("A") will remove "A" from the
environment on these platforms.  On other platforms fall back to direct
manipulation of "environ".

Also add UnPutEnv to the API and add a test for the behavior of both.
2012-04-27 08:13:52 -04:00