Commit Graph

13223 Commits

Author SHA1 Message Date
Brad King 280a333e1e Fix project command documentation typo (#13384)
Commit 9090572f (Add ability to include a file in a project via a cache
variable, 2012-02-17) taught the project() command to check variable
"CMAKE_PROJECT_<projectName>_INCLUDE" but the documentation included an
extra "_FILE" by accident.  Remove it.
2012-07-09 08:44:13 -04:00
Kitware Robot f70f55c064 CMake Nightly Date Stamp 2012-07-09 00:01:02 -04:00
Kitware Robot d7e6ca5543 CMake Nightly Date Stamp 2012-07-08 00:01:02 -04:00
Kitware Robot c848651699 CMake Nightly Date Stamp 2012-07-07 00:01:05 -04:00
Clinton Stimpson ecfc53da7e cmake-gui: Fix code to respect current locale.
This means non-ascii characters now work correctly on systems that
have a non-ascii 8 bit encoding as the current locale.
2012-07-06 13:26:39 -06:00
Kitware Robot 37e3d910ec CMake Nightly Date Stamp 2012-07-06 00:01:05 -04:00
Kitware Robot 1cb3b0fcd6 CMake Nightly Date Stamp 2012-07-05 00:01:02 -04:00
Eric NOULARD 05a8630ee6 Do not provide defaul value for CPACK_PACKAGE_DIRECTORY if found in config.
This fixes bug #0012906.
2012-07-04 23:08:32 +02:00
Kitware Robot c8bf86cf82 CMake Nightly Date Stamp 2012-07-04 00:01:04 -04:00
Eric NOULARD 926d634d3e CPack fix regression between 2.8.7 and 2.8.8 when running cpack with no arg.
In 2.8.7 running cpack with no arguments would run the packaging iff
a CPackConfig.cmake file is found whereas
In 2.8.8 it displays the help.
This commit restore the 2.8.7.
We should add a test for this but this is not included in this commit.
2012-07-03 15:28:07 +02:00
Kitware Robot b689f8e928 CMake Nightly Date Stamp 2012-07-03 00:01:04 -04:00
Eric NOULARD a8c659cd6e Find dpkg and rpmbuild in usual Fink and MacPort paths 2012-07-02 19:49:07 +02:00
Peter Kuemmel 6332ba5a58 Ninja: also consider rule command length for rsp file 2012-07-02 10:30:29 +02:00
Kitware Robot c27c82a4e9 CMake Nightly Date Stamp 2012-07-02 00:01:05 -04:00
Peter Kuemmel 0c42faf63a Ninja: also consider variables when checking command line length 2012-07-02 00:01:41 +02:00
Kitware Robot ba41a238f7 CMake Nightly Date Stamp 2012-07-01 00:01:02 -04:00
Kitware Robot 370c422def CMake Nightly Date Stamp 2012-06-30 00:01:02 -04:00
Kitware Robot 7ecbf9daac CMake Nightly Date Stamp 2012-06-29 00:01:05 -04:00
Peter Kuemmel 24a35cef25 Ninja: print error message when command failed 2012-06-28 13:48:10 +02:00
Kitware Robot 3cb7eefd55 CMake Nightly Date Stamp 2012-06-28 00:01:05 -04:00
Rolf Eike Beer ee158b367c fix 2 space bugs in variable documentation 2012-06-27 23:44:54 +02:00
Bill Hoffman 5f12424ebc Remove process execution code from cmcldeps and have it use cmake code.
This simplifies the code in cmcldeps and avoids having yet another
set of process execution code.
2012-06-27 12:28:12 -04:00
Kitware Robot 61dbddd8af CMake Nightly Date Stamp 2012-06-27 00:01:06 -04:00
David Cole b163c45445 Ninja: Fix typo: tagets -> targets
Thanks to Claus Klein for the report on the mailing list.
2012-06-26 10:35:39 -04:00
Kitware Robot bd67f75e41 CMake Nightly Date Stamp 2012-06-26 00:01:04 -04:00
Kitware Robot eb0922a90c CMake Nightly Date Stamp 2012-06-25 00:01:02 -04:00
David Cole c77b57ba7d CTest: Allow -Dvar=value with no space between the D and the var
Similar to CMake's handling of -D command line arguments, for
consistency and to avoid silent ignoring of "unknown command
line" args.
2012-06-24 08:14:11 -04:00
David Cole 93d084c180 CTest: Extend -D command line arg handling for variable definitions
If the argument following -D is not a valid dashboard type string,
then try to parse it as a "var:type=value" string just like cmake
already does.
2012-06-24 08:03:24 -04:00
David Cole af298480d0 CTest: Rename local variable for clarity 2012-06-24 05:51:08 -04:00
David Cole 24ba0fd078 CTest: Refactor error output into ErrorMessageUnknownDashDValue
No behavior change. Prep work for defining script variables by
extending -D command line handling to recognize var:type=value syntax.
2012-06-24 05:46:55 -04:00
Kitware Robot 2fdc5517b1 CMake Nightly Date Stamp 2012-06-24 00:01:03 -04:00
Kitware Robot 72ce588933 CMake Nightly Date Stamp 2012-06-23 00:01:04 -04:00
David Cole fa804f319c CMake 2.8.9-rc1 2012-06-22 06:25:48 -04:00
Kitware Robot 0302287739 CMake Nightly Date Stamp 2012-06-22 00:01:06 -04:00
Alex Neundorf 20e133e38a man documentation: detect man section from the given filename
E.g. if you say cmake --help-custom-modules mymodules.7
cmake will now put section 7 into the generated manpage.

Alex
2012-06-21 23:19:55 +02:00
Alex Neundorf 38df155dd3 documentation: preparation for making the man section configurable
This patch adds a man section number, which is then used by the
DocumentationFormatterMan. The section number is right now always 1,
detecting this from the file name will be the next step.

Alex
2012-06-21 23:06:08 +02:00
Alex Neundorf e6a935f39b -remove trailing whitespace
Alex
2012-06-21 23:02:55 +02:00
Eric NOULARD f7365f5775 Enhance documentation of install command w.r.t. the "Undefined" component.
Inspired-By: Bill Lorensen on the mailing list.
2012-06-21 20:49:16 +02:00
David Cole b0e5079ab5 Merge topic 'eliminate-warnings'
91d945a Remove unused ivars to eliminate compiler warnings
24c4f18 Remove unused ivars to eliminate compiler warnings
2012-06-21 11:55:44 -04:00
David Cole ae6f9b015f Merge topic 'module-no-soname'
56148fd Do not crash on SHARED library without language (#13324)
2012-06-21 11:55:15 -04:00
David Cole e5ebb77405 Merge topic 'no-source-language-crash'
2c2fbaf Do not crash on unknown source language (#13323)
2012-06-21 11:54:52 -04:00
Kitware Robot 9f80ad7ccb CMake Nightly Date Stamp 2012-06-21 00:01:06 -04:00
David Cole 91d945a4e9 Remove unused ivars to eliminate compiler warnings 2012-06-20 17:44:10 -04:00
Sean McBride 24c4f18c72 Remove unused ivars to eliminate compiler warnings 2012-06-20 17:43:37 -04:00
Stephen Kelly ca403b8c43 Construct the full path before escaping it.
Should fix some dashboard errors.
2012-06-20 22:47:41 +02:00
Brad King 56148fd2bc Do not crash on SHARED library without language (#13324)
Since commit e1409ac5 (Support building shared libraries or modules
without soname, 2012-04-22) CMake crashes on the code

 add_library(foo SHARED foo.nolang)

because the logic to lookup the language's soname flag was moved from
cmTarget::GetLibraryNames to cmMakefile::GetSONameFlag without its check
for a NULL language.  Restore the check for NULL.

Add RunCMake.Languages test to cover language error cases like this one.
2012-06-20 11:26:05 -04:00
Mariusz Plucinski 2c2fbaf0e5 Do not crash on unknown source language (#13323)
If a source file extension is not recognized as any language then
src.GetLanguage() may return NULL.  Check the result before
dereferencing in cmLocalGenerator::GetObjectFileNameWithoutTarget.
2012-06-20 08:59:54 -04:00
Kitware Robot 30305b989e CMake Nightly Date Stamp 2012-06-20 00:01:06 -04:00
David Cole f9383a9898 STYLE: Fix line length, remove extra blank line 2012-06-19 14:49:13 -04:00
David Cole 7ddbdde15f Merge topic 'doc-set-command'
f2c1f24 Improve documentation of set command (#13269)
2012-06-19 14:43:09 -04:00
David Cole 565744bd3d Merge topic 'ninja-cldeps'
eb410e8 Ninja: disable cldeps for bcc32, it's too old, and ninja would also not build
5ead31d Ninja: try work around for bcc32 bug
1333b57 Ninja: build server fixes
9081e3a remove warning about unused parameter
f430bea Ninja: maybe this fixes the bcc32 build
f2c1288 Ninja: msvc6 for-scoping
44b9bbc Ninja: build with old msvc versions
57156a5 Ninja: build server fixes
f1abdce Ninja: some bytes of the rc files couldn't be piped correctly
2de963d Ninja: don't remove space between command and parameters
50b6f33 Ninja: build cmcldeps with mingw
c05653e Ninja: try to make GetProcessId visible
ab245ff Ninja: but cl supports /nologo ...
bf58e9a Ninja: no /nologo option in old rc.exe
2fb07fc Ninja: Eclipse and KDevelop fixes for ninja
518c065 Ninja: don't pollute build dir with preprocessed rc files
...
2012-06-19 14:42:41 -04:00
David Cole 8d198a71fc Merge topic 'FailIfMocFails-13299'
e4a2d5f automoc: better error handling (#13299)
2012-06-19 14:42:32 -04:00
David Cole fbfddc70a4 Merge topic 'ninja-enable-on-windows'
2077e98 Ninja: Enable the ninja generator by default on Windows.
2012-06-19 14:42:23 -04:00
David Cole aa2c6d0493 Merge topic 'no-std-stringstream'
32313fd Merge branch 'ninja-rspfile' into no-std-stringstream
e3a1f72 Ninja: find mingw's resource compiler
c60557e Ninja: don't break because of empty commands
128fe5d Ninja: also create rspfile rules
0266c9b Ninja: check for valid pointer
5aab7f9 Ninja: 30000 is too long for windows cmd
ad4a768 Ninja: add response file support on Windows
2012-06-19 14:42:11 -04:00
Stephen Kelly e30d46e20e Use full paths in compile_commands.json for out of source builds.
Clang tooling requires that paths in the directory and file JSON
fields are relative to the directory field, but clang doesn't normalize
the paths already. The result is that clang doesn't find the relevant
entry for files which begin with ../.
2012-06-19 09:01:28 +02:00
Kitware Robot 4889188f67 CMake Nightly Date Stamp 2012-06-19 00:01:05 -04:00
Sebastian Leske f2c1f2402e Improve documentation of set command (#13269) 2012-06-18 10:02:13 -04:00
Peter Kuemmel eb410e8dd8 Ninja: disable cldeps for bcc32, it's too old, and ninja would also not build 2012-06-18 13:39:29 +02:00
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
Kitware Robot e6d28c7e6f CMake Nightly Date Stamp 2012-04-27 00:01:05 -04:00
Brad King dfccdd65fb Documentation: Fix HTML anchor ranges
Generate anchors of the form

  <a name="..."></a>

instead of

  <a name="..."/>

to ensure browsers know that the anchor contains no text and do not try
to guess an end of the range.  Also make the "section_Index" and item
label anchors empty instead of containing the section header or label
text.  This ensures that the text associated with target anchors is not
rendered as if it were a hyperlink.
2012-04-26 16:29:56 -04:00
Brad King 3da577dec0 CTest: Escape MemCheck test output for XML (#13124)
Any output that goes through CleanTestOutput must be printed through
cmXMLSafe.
2012-04-26 15:49:29 -04:00
Bill Hoffman 72210c2662 Fix line length. 2012-04-26 08:33:27 -04:00
Bill Hoffman dd07161c51 Fix warning about char* instead of const char*. 2012-04-26 08:30:13 -04:00
Brad King 953257ca61 try_compile: Cleanup temporary directories (#13160)
Since commit 4fbdce2b (try_compile: Use random executable file name,
2012-02-13) a different <target>.dir is used for each try-compile.
Cleanup the directories as well as their content to avoid accumulating
leftover temporary directories.
2012-04-26 08:20:58 -04:00
Kitware Robot a7d0fb1470 CMake Nightly Date Stamp 2012-04-26 07:35:13 -04:00
Bill Hoffman e6412e084e Add support to ctest for GTM mumps coverage. 2012-04-25 17:04:28 -04:00
David Cole 7e4c11e0fc Merge topic 'compile-XL-v6'
b3c7788 Workaround IBM XL v6 streams seekg bug (#13149)
09a91c6 libarchive: Avoid 'inline' keyword on XL C v6 (#13148)
a8995eb libarchive: Avoid trailing , in enum for XL v6 (#13148)
2012-04-25 14:04:52 -04:00
David Cole 91f83347d3 Merge topic 'enhance-include_external_msproject'
b803410 VS: Fix line-too-long style errors
8787f94 Merge branch 'list-empty-error' into enhance-include_external_msproject
4a30258 include_external_msproject: Test TYPE, GUID, PLATFORM options (#13120)
f3191f5 Merge branch 'test-RunCMake-check' into enhance-include_external_msproject
5913903 include_external_msproject: Add TYPE, GUID, PLATFORM options (#13120)
2012-04-25 14:04:27 -04:00
David Cole c4aa5386fb Merge topic 'list-empty-error'
05604eb list: Handle errors on empty lists more gracefully (#13138)
2012-04-25 14:03:53 -04:00
David Cole f1ecabd98a Merge topic 'doc-find_package-variables'
5ed93db find_package: Fix components signature documentation (#13142)
6c12e82 find_package: Document <package>_FIND_* variables (#13142)
2012-04-25 14:03:23 -04:00
David Cole 728cbd19e3 Merge topic 'vs10-rule-files'
72333a4 VS10: Avoid creating .rule files next to outputs (#13141)
369e346 Factor out custom command .rule file path generation
f9b758e Cleanup custom command .rule file internal handling
2012-04-25 14:03:01 -04:00
David Cole 21be162f9b Merge topic 'CPackDeb-fixFakerootOnControl'
abc9b32 Use fakeroot for control.tar.gz as well
2012-04-25 14:02:46 -04:00
David Cole ee35d8a0ea Merge topic 'ctest_coverage-locale'
3247d63 ctest_coverage: Save/restore LC_ALL around gcov (#13136)
2012-04-25 14:02:09 -04:00
David Cole 81e696c99d Merge topic 'OBJECTLibrariesInCodeBlocks'
38d4c1e CodeBlocks: improve support for OBJECT libraries
d2ed3c7 -fix #13081: support OBJECT libraries in CodeBlocks/QtCreator projects
2012-04-25 14:01:34 -04:00
David Cole 745067bd7e Merge topic 'doc-target_link_libraries-repeat'
ebf39cd Document behavior of multiple target_link_libraries calls (#13113)
2012-04-25 14:01:17 -04:00
David Cole 04f5dd8ad4 Merge topic 'ninja-patches'
c9747f3 Ninja: CMAKE_USE_NINJA is the name of the macro
2a081a2 Ninja: no additional variable needed to enable ninja
b8c3e8c Ninja: enable Ninja for CodeBlocks
11bd9b5 Ninja: remove GCC -Wshadow warning
f93e818 Ninja: add option to enable ninja where it is not enabled by default
73426ac Ninja: no 16:9 screens for the cmake team ;)
8217c26 Ninja: ensure output directories exist
2012-04-25 14:00:59 -04:00
David Cole fd1788294d Merge topic 'mac_environ'
a90d478 [OSX] Fixed undefined symbol when linking CMakeLib into shared library
2012-04-25 14:00:22 -04:00
Brad King 5f807a62a5 KWSys: Remove DateStamp
KWSys is no longer shared in projects via a server-side directory
symlink in CVS.  An automated nightly date stamp commit can no longer be
shared by multiple projects directly.  It needs a per-project replay
robot so the nightly commits end up needing N+1 robots instead of N.
Remove the DateStamp feature because it is no longer useful or
maintained by nightly commits.
2012-04-25 11:40:24 -04:00
Kitware Robot 5d15430fb9 CMake Nightly Date Stamp 2012-04-25 00:01:03 -04:00
Brad King b10c5cbb87 CTest: Simplify environment save/restore
Replace use of AppendEnv/RestoreEnv pairs with instances of
SaveRestoreEnvironment.  Simplify the signature of AppendEnv and use it
in place of similar loops elsewhere.  Move the RestoreEnv implementation
inside the SaveRestoreEnvironment destructor which is the only place
left that calls it.
2012-04-24 16:56:14 -04:00
Kitware Robot 3d28c5dc47 CMake Nightly Date Stamp 2012-04-24 00:01:03 -04:00
Kitware Robot 93e6069553 CMake Nightly Date Stamp 2012-04-23 00:01:02 -04:00
Kitware Robot 3a50392601 CMake Nightly Date Stamp 2012-04-22 00:01:04 -04:00
Kitware Robot 2809379f15 CMake Nightly Date Stamp 2012-04-21 09:43:50 -04:00
Brad King 0c7029c642 Refactor CMake version handling
Move the CMake version number components out of "CMakeLists.txt" into
dedicated file "Source/CMakeVersion.cmake".  Set the TWEAK level to the
date explicitly.  Add a "Source/CMakeVersion.bash" script to update the
date, thus replacing KWSys DateStamp for CMake.  Teach the bootstrap
script to extract the version components from their new location.
2012-04-20 11:25:55 -04:00
KWSys Robot 20ba4fe1bf KWSys Nightly Date Stamp 2012-04-20 09:37:16 -04:00
Jim Hague b3c77889e4 Workaround IBM XL v6 streams seekg bug (#13149)
It seems that file.seekg(0) will, in some circumstances, cause the next
file.getline() to omit the first character it reads.  Workaround the
bug by seeking from ios::beg explicitly.
2012-04-19 14:27:43 -04:00
Brad King b8034104c1 VS: Fix line-too-long style errors
Commit 59139031 (include_external_msproject: Add TYPE, GUID, PLATFORM
options, 2012-04-16) introduced some long lines.  Wrap them.
2012-04-19 10:07:49 -04:00
Brad King 5ed93db4cf find_package: Fix components signature documentation (#13142)
Update the signature notation to show that "REQUIRED COMPONENTS ..." is
allowed and that REQUIRED is an option on its own.
2012-04-19 09:41:17 -04:00
Brad King 8787f946b7 Merge branch 'list-empty-error' into enhance-include_external_msproject
Resolve conflict in Tests/RunCMake/CMakeLists.txt by adding both tests.
2012-04-19 09:33:29 -04:00
KWSys Robot 168f38ee5f KWSys Nightly Date Stamp 2012-04-19 00:05:04 -04:00
Brad King 72333a4648 VS10: Avoid creating .rule files next to outputs (#13141)
Hide custom command .rule files inside the CMakeFiles directory.  Ensure
a short, deterministic, and unique name by using a hash of the directory
path containing the output file.  Preserve the file name so the entry in
the IDE is human-readable.  Clarify the comment that explains why the
rule file must be created on disk.
2012-04-18 15:54:35 -04:00
Brad King 369e3464be Factor out custom command .rule file path generation
Add cmGlobalGenerator::GenerateRuleFile to compute a generator-specific
rule file location.  This will allow specific generators to override the
location of .rule files without changing the behavior of other
generators.
2012-04-18 15:49:38 -04:00
Brad King f9b758e91a Cleanup custom command .rule file internal handling
Teach cmMakefile::AddCustomCommandToOutput to return the cmSourceFile
instance to which the custom command is attached.  Use the return value
instead of separately adding a .rule extension and searching for the
source.  Mark CMake-generated .rule files explicitly with a property
instead of trusting the file extension.
2012-04-18 15:48:50 -04:00
Brad King 6c12e820b8 find_package: Document <package>_FIND_* variables (#13142)
When loading a find module or package config file the find_package
command defines several variables to provide information about the
caller's request.  Previously this was documented only in the
Modules/readme.txt file which is not distributed.  Document the
behavior explicitly in the main find_package documentation.
2012-04-18 09:17:35 -04:00
KWSys Robot 32e0b1975d KWSys Nightly Date Stamp 2012-04-18 00:05:05 -04:00
Brad King 05604eb9cb list: Handle errors on empty lists more gracefully (#13138)
Since commit ed1ea24c (Fix INSERT to allow inserting to empty list,
2006-05-15) the list command allows insertion into an empty list at
index 0.  Fix rejection of insertion at non-zero (negative) indices to
present an error message instead of crashing.

While at it, fix the error message of the GET and REMOVE_AT operations
when the list is empty to not present a bogus allowed range.

Add a "RunCMake.list" test to cover failure cases on empty lists.
2012-04-17 11:07:07 -04:00
Eric NOULARD abc9b32375 Use fakeroot for control.tar.gz as well 2012-04-17 09:22:07 +02:00
KWSys Robot 233b5cbaf7 KWSys Nightly Date Stamp 2012-04-17 00:05:04 -04:00
Leonid Yurchenko 59139031a1 include_external_msproject: Add TYPE, GUID, PLATFORM options (#13120)
These allow one to reference more external VS project file variations.
2012-04-16 10:17:03 -04:00