Commit Graph

11724 Commits

Author SHA1 Message Date
Brad King 7dcf2269ec Merge topic 'FixBadXMLInEclipseProjects'
79e13af Add XML escaping for directory name in Eclipse projects (#11658)
8074bca Fix XML escaping for target names in Eclipse project files (#11658)
cb94587 Fix XML escaping for the project() name in Eclipse projects (#11658)
2011-02-22 14:32:27 -05:00
Brad King 2d2f79a995 Merge topic 'vs-intel-dll-implib-outdir'
2516c05 VS: Create a Fortran DLL's import library directory
2011-02-22 14:32:16 -05:00
Brad King 01b65de3f9 Merge topic 'fix-11717-gcov-same-file-name'
6e02a3b CTest: Use the gcov --preserve-paths flag (#11717)
2011-02-22 14:32:11 -05:00
Brad King f556773f01 Merge topic 'fix-11761-less-file-download-noise'
667cf5b Make file DOWNLOAD less noisy (#11761)
2011-02-22 14:32:01 -05:00
Brad King cc5bbed52a Merge topic 'fix-10704-manifest-no-vs10'
fbca267 VS: Only use /MANIFEST if hasManifest is true (#11216)
98b448e VS2010: Fixed GenerateManifest flag (#10704)
2011-02-22 14:31:55 -05:00
Brad King a38c1b3584 Merge topic 'qtdialog-groupingbug'
b1f52b1 Fix grouping bug where "Ungrouped Entries" showed up as a child.
2011-02-22 14:31:31 -05:00
Brad King 554641f320 Merge topic 'fix-8914-allow-config-types-override'
e6221ed Xcode: Allow override of CMAKE_CONFIGURATION_TYPES (#8914)
2011-02-22 14:31:26 -05:00
Brad King 542f45f452 Merge topic 'custom-command-slashes'
88548a4 Handle relative WORKING_DIRECTORY in add_custom_(command|target)
7befc00 Handle trailing slashes on add_custom_command DEPENDS
2011-02-22 14:31:12 -05:00
Brad King 45efcc8fa6 Merge topic 'disallow-funny-path-names'
8704525 Reject directory names containing '=' (#11689)
2011-02-22 14:31:07 -05:00
Brad King 64d997a78c Merge topic 'fix-11295-support-plugin-bundles-on-mac'
cabc407 CFBundle Test: Add PATHS for finding Rez (#11295)
5457b82 Add support for CFBundle targets on the Mac (#11295)
2011-02-22 14:30:58 -05:00
Brad King 6ec1ae2108 Merge topic 'vs-link-flag-table'
85163fb Add link flag table entries for VS 7,8,9
2011-02-22 14:30:52 -05:00
Brad King c033ba6769 Merge topic 'fix-10397-add-wchar_t-string-pool-flags'
e9425d4 VS7/8/9: Add flag map for string pooling option (#10397)
ea9de57 VS8/9: Add flag map entries for /Zc:wchar_t (#10397)
2011-02-22 14:30:48 -05:00
Brad King 52e2c22ee9 Merge topic 'fix-10638-add-enable-prefast-flags'
15e4222 VS9: Map enable/disable PREfast flags (#10638)
2011-02-22 14:30:44 -05:00
Brad King f866b20880 Merge topic 'fix-10263-add-whole-program-opt-flags'
6cf5772 VS7/8/9: Map whole program optimization flags (#10263)
2011-02-22 14:30:39 -05:00
Brad King fe07b5eae6 Merge topic 'add-floating-point-flags'
d503206 Add FloatingPointModel to the list of known VS7 generator flags.
2011-02-22 14:30:35 -05:00
Brad King d0b32ca5cd Merge topic 'fix-clang-warnings'
acd8161 ccmake: Remove extra parens around comparison
2011-02-22 14:30:29 -05:00
Brad King b346093a03 Merge topic 'fix-8154-improve-list-documentation'
2d14b15 Clarify list subcommand documentation (#8154)
2011-02-22 14:30:25 -05:00
Brad King 4d8fee4659 Merge topic 'fix-10446-improve-dash-E-docs'
1019d82 Documentation: Sync two differing copies of -E docs (#10446)
2434d88 Documentation: document platform specific -E commands (#10446)
2011-02-22 14:30:20 -05:00
Brad King 377ed8e764 Merge topic 'fix-11526-mac-remove-carbon-refs'
0037dcb Removed most usage of Carbon in favour of CoreFoundation
2011-02-22 14:30:12 -05:00
KWSys Robot 73bbef36d0 KWSys Nightly Date Stamp 2011-02-22 00:10:58 -05:00
KWSys Robot 1ca15f85f1 KWSys Nightly Date Stamp 2011-02-21 00:11:05 -05:00
KWSys Robot dff3d7da3f KWSys Nightly Date Stamp 2011-02-20 00:12:08 -05:00
KWSys Robot 9e81dddc4f KWSys Nightly Date Stamp 2011-02-19 00:10:09 -05:00
David Cole 8af8eab7a4 Use stable_sort to preserve test order (#11877)
Using sort results in a possibly-modified sorting
when all elements are "tied" - use stable_sort instead
to preserve the original ordering of tied elements.
2011-02-18 13:10:26 -05:00
KWSys Robot 16b99e6cae KWSys Nightly Date Stamp 2011-02-18 00:12:04 -05:00
Brad King 1a8eed171b Merge branch 'add-STRING-subcommand-FIND-issue-11795' into fix-2828-more-info-in-script-mode 2011-02-17 08:48:08 -05:00
Brad King 006124b446 Avoid direct use of std::stringstream
In method cmStringCommand::HandleFindCommand added by parent commit use
the cmOStringStream compatibility wrapper instead of std::stringstream.
2011-02-17 08:44:22 -05:00
KWSys Robot e0d64d5cb1 KWSys Nightly Date Stamp 2011-02-17 00:12:06 -05:00
KWSys Robot 8caed60208 KWSys Nightly Date Stamp 2011-02-16 00:12:03 -05:00
Eric NOULARD 0cf1d72e3c CPackRPM fix IRIX compiler warning (variable never used) 2011-02-15 19:55:36 +01:00
Brad King 8a8da3694b Merge branch 'fix-2828-more-info-in-script-mode' into add-STRING-subcommand-FIND-issue-11795
Conflicts:
	Tests/CMakeTests/StringTestScript.cmake
2011-02-15 13:48:37 -05:00
Tim Hütz 1462561a8c Add a string(FIND) sub-command (#11795) 2011-02-15 13:17:51 -05:00
Brad King acd8161bad ccmake: Remove extra parens around comparison
The Clang compiler warns about extra parenthesis in the code

  if ((form->curpage == field->page))
      ~              ^             ~

because the idiom is commonly used when an assignment is intended
instead of a comparison.  Remove the extra enclosing layer.
2011-02-15 08:46:50 -05:00
KWSys Robot d4884710a4 KWSys Nightly Date Stamp 2011-02-15 00:12:12 -05:00
Brad King d02519e974 Merge topic 'doc-MSVC_VERSION-issue-11833'
5cdd05b Fix documentation of MSVC_VERSION (#11833)
2011-02-14 16:34:29 -05:00
KWSys Robot 2a2fca24aa KWSys Nightly Date Stamp 2011-02-14 00:10:26 -05:00
Alex Neundorf 2a9f7f96b8 Also add the SOURCES from add_custom_target() to CodeBlocks projects (#11736)
Since CMake 2.6.3 add_custom_target() has a SOURCES option, this was not
yet considered in the C::B generator.
Also, now GENERATED files are not added to the project.

Alex
2011-02-13 22:53:43 +01:00
KWSys Robot d26ef5c118 KWSys Nightly Date Stamp 2011-02-13 00:10:44 -05:00
Alex Neundorf e8a97e075a Eclipse projects: created one linked resource for each subproject
Now a virtual folder "Subprojects" is created, and in this virtual folder
is a linked resource for each project().
This can be considered a fix for #11657

Alex
2011-02-13 01:15:11 +01:00
Alex Neundorf 79e13af195 Add XML escaping for directory name in Eclipse projects (#11658)
Alex
2011-02-12 22:01:27 +01:00
Alex Neundorf 8074bca93c Fix XML escaping for target names in Eclipse project files (#11658)
Alex
2011-02-12 21:54:02 +01:00
Alex Neundorf cb94587a88 Fix XML escaping for the project() name in Eclipse projects (#11658)
Alex
2011-02-12 21:49:08 +01:00
KWSys Robot 84dafee565 KWSys Nightly Date Stamp 2011-02-12 00:10:49 -05:00
KWSys Robot 831c5ebe58 KWSys Nightly Date Stamp 2011-02-11 00:12:06 -05:00
Brad King 2516c05c2c VS: Create a Fortran DLL's import library directory
The Intel Fortran plugin forgets to create the output directory into
which it will write a DLL's import library.  Utilize the fix added by
commit f4b3bdc6 (Create an exe's implib output dir for VS, 2009-06-15)
and generalized by commit 764ac980 (Generalize exe implib dir creation
for VS, 2009-06-16).  Create a pre-link rule to make the directory.
2011-02-10 16:17:44 -05:00
Brad King 5cdd05bc68 Fix documentation of MSVC_VERSION (#11833)
Previously the example version number was wrong.  Instead list all the
known versions with correct numbers.
2011-02-10 08:20:33 -05:00
KWSys Robot e53b7cbadf KWSys Nightly Date Stamp 2011-02-10 00:12:13 -05:00
Marco Craveiro 6e02a3b2bf CTest: Use the gcov --preserve-paths flag (#11717)
To avoid name clashes.

Before this commit, name clashes can occur when invoking gcov on a
project that uses the same file name in different directories. The
--preserve-paths flag ensures all file names have a complete path,
avoiding name clashes.
2011-02-09 16:04:15 -05:00
David Cole 667cf5b963 Make file DOWNLOAD less noisy (#11761)
Thanks to Daniel Nelson for the suggestion and the patch.
2011-02-09 13:22:32 -05:00
David Cole fbca267331 VS: Only use /MANIFEST if hasManifest is true (#11216)
Thanks to Jrg Riedel for the patch.
2011-02-09 13:01:31 -05:00
David Cole 98b448ee9e VS2010: Fixed GenerateManifest flag (#10704)
Thanks to "McBen <viertelvor12@gmx.net>" for the patch.

(Did not preserve original commit author information because
we have a push check for first and last name, and do not
accept authors with only an alias...)
2011-02-09 13:01:19 -05:00
Brad King 85163fba18 Add link flag table entries for VS 7,8,9
Map the following MS linker flags:

  /CLRUNMANAGEDCODECHECK
  /CLRUNMANAGEDCODECHECK:NO
  /DELAY:UNLOAD
  /DELAYSIGN
  /DELAYSIGN:NO
  /DYNAMICBASE
  /DYNAMICBASE:NO
  /NOASSEMBLY
  /NOENTRY
  /NXCOMPAT
  /NXCOMPAT:NO
  /RELEASE
2011-02-09 09:05:07 -05:00
KWSys Robot 7258b0674c KWSys Nightly Date Stamp 2011-02-09 00:12:08 -05:00
Brad King 7f87205161 Merge topic 'FixCrashInGraphVizWriter'
00e7ea7 Fix crash in GraphVizWriter when GRAPHVIZ_TARGET_IGNORE_REGEX is used
2011-02-08 14:18:48 -05:00
Brad King 5b8869faea Merge topic 'fix-clang-warnings'
c310450 Silence the may be used uninitialized warnings: initialize stuff.
2011-02-08 14:18:36 -05:00
KWSys Robot 68c004aa11 KWSys Nightly Date Stamp 2011-02-08 00:12:07 -05:00
David Cole 2d14b15ec2 Clarify list subcommand documentation (#8154)
Make it clear that list subcommands that modify the list
do so in the current CMake variable scope, regardless of
the original scope of the list variable involved.
2011-02-07 16:55:07 -05:00
KWSys Robot d7a51814a3 KWSys Nightly Date Stamp 2011-02-07 00:12:05 -05:00
Eric NOULARD 494bb8ada7 CPackRPM honors all the different ways of packaging components
RPM cannot easily 'merge' differents directory into a single RPM
with shared prefix. So more flexibility has been added to generic
CPackGenerator in order to let the specific generator chose the
local installation directory for each component.
2011-02-06 21:23:10 +01:00
Alex Neundorf 08fa5ddb1c Also generate dependers-graphviz files.
With this commit, the --graphviz option now also generates dot files
which show which other targets depend on some target.
So, now there is
* a global dot-file which shows all targets and dependencies
* a dot file which shows on what a target Foo depends
* a dot file which shows which other targets depend on Foo

Alex
2011-02-06 18:34:48 +01:00
KWSys Robot f97a1c6493 KWSys Nightly Date Stamp 2011-02-06 00:12:08 -05:00
Alex Neundorf 4f96a7621f GRAPHVIZ_IGNORE_TARGETS is now a list of regular expressions
This is similar e.g. to CTEST_CUSTOM_WARNING_EXCEPTION from ctest.
GRAPHVIZ_TARGET_IGNORE_REGEX is not supported anymore.
I hope this is ok, since this was 100% undocumented and can't
break a build.

Alex
2011-02-05 19:09:54 +01:00
Alex Neundorf 5698ad2047 Make it possible to exlude external libs from dot files
Patch from Christian Ehrlicher.
By setting GRAPHVIZ_EXTERNAL_LIBS to TRUE in CMakeGraphVizOptions.cmake
you can now exclude external libraries from the produced dot file.
I.e. then you see only the dependencies within your project.

Alex
2011-02-05 18:43:34 +01:00
KWSys Robot d27dfc25c1 KWSys Nightly Date Stamp 2011-02-05 00:12:02 -05:00
Alex Neundorf 00e7ea76e8 Fix crash in GraphVizWriter when GRAPHVIZ_TARGET_IGNORE_REGEX is used
GraphVizWriter could crash if GRAPHVIZ_TARGET_IGNORE_REGEX was set.
Patch from Christian Ehrlicher.

Alex
2011-02-04 20:31:18 +01:00
David Cole 1019d82727 Documentation: Sync two differing copies of -E docs (#10446)
Alphabetize both lists. Put platform-specific docs in both places too.
2011-02-04 11:45:26 -05:00
Kovarththanan Rajaratnam 2434d8826e Documentation: document platform specific -E commands (#10446)
Signed-off-by: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
2011-02-04 11:45:20 -05:00
David Cole a58ace68ce Fix KWStyle line-too-long complaint (#2828) 2011-02-04 10:38:22 -05:00
KWSys Robot aa78a60ca6 KWSys Nightly Date Stamp 2011-02-04 00:10:46 -05:00
David Cole c310450daf Silence the may be used uninitialized warnings: initialize stuff. 2011-02-03 10:21:32 -05:00
KWSys Robot 26eba9cb9c KWSys Nightly Date Stamp 2011-02-03 00:11:02 -05:00
David Cole 106958c047 Add CMAKE_ARGC and CMAKE_ARGV0..N-1 variables (#2828)
For now, these variables are only available in -P script mode.
2011-02-02 21:19:01 -05:00
David Cole 94d1684a8f Add CMAKE_SCRIPT_MODE_FILE variable (#2828)
New CMake variable is set when processing a -P script file,
but not when configuring a project.
2011-02-02 18:18:14 -05:00
KWSys Robot bd7dd34aba KWSys Nightly Date Stamp 2011-02-02 00:12:27 -05:00
Sebastian Herbst e9425d4053 VS7/8/9: Add flag map for string pooling option (#10397) 2011-02-01 15:09:05 -05:00
Sebastian Herbst ea9de57750 VS8/9: Add flag map entries for /Zc:wchar_t (#10397) 2011-02-01 15:03:10 -05:00
David Cole 15e422249e VS9: Map enable/disable PREfast flags (#10638) 2011-02-01 13:37:57 -05:00
Philip Lowman 6cf5772a93 VS7/8/9: Map whole program optimization flags (#10263) 2011-02-01 13:16:40 -05:00
KWSys Robot 4f1e1fe782 KWSys Nightly Date Stamp 2011-02-01 08:38:03 -05:00
Sean McBride 0037dcb6af Removed most usage of Carbon in favour of CoreFoundation 2011-01-31 18:21:20 -05:00
James Bigler d503206fbe Add FloatingPointModel to the list of known VS7 generator flags.
Added FloatingPointModel with /fp:precise, /fp:strict, and /fp:fast.
2011-01-31 14:47:46 -05:00
KWSys Robot 76976a59e9 KWSys Nightly Date Stamp 2011-01-31 00:11:02 -05:00
KWSys Robot 9c30d3d230 KWSys Nightly Date Stamp 2011-01-30 00:12:06 -05:00
KWSys Robot 04d4afbfa8 KWSys Nightly Date Stamp 2011-01-29 00:10:59 -05:00
Brad King ecfe0f7ca8 Merge topic 'fix-11695-spaces-in-vs10-rc-defs'
008d116 VSResource: Avoid windres /D with quoted spaces (#11695)
8f9919d Avoid space in rc /D values for VS6 and Cygwin (#11695)
78fe97f Fix line too long KWStyle issue (#11695)
6627560 VS10: Escape double quote chars in defines for rc files (#11695)
2011-01-28 14:17:54 -05:00
Brad King aa21763e0c Merge topic 'fix-xcode-generator-crash'
b08657c Xcode: Fix crash: avoid strlen call on NULL char *
2011-01-28 14:17:32 -05:00
Clinton Stimpson b1f52b1fd8 Fix grouping bug where "Ungrouped Entries" showed up as a child. 2011-01-28 08:50:56 -07:00
David Cole e6221ed2c4 Xcode: Allow override of CMAKE_CONFIGURATION_TYPES (#8914) 2011-01-28 09:52:47 -05:00
KWSys Robot 6744616fb2 KWSys Nightly Date Stamp 2011-01-28 00:12:07 -05:00
Brad King 182eb7c7ef Merge topic 'dev/strict-mode'
dd2f814 Merge branch 'dev/add_test-working-directory' into dev/strict-mode
949d32c Unwatch manual variables upon removal in cmake-gui
3939032 Unwatch manual variables upon removal in ccmake
8354413 Add method to unwatch a manual variable
8ed3c85 Give a better message for unused variables
729db48 Fix ArgumentExpansion test expected results
89c2544 Checking for a definition is a usage
5625dee Don't output to stderr in the GUI
ad25a96 Merge branch 'ImprovedDotSupport2' into dev/strict-mode
c128abe Merge branch 'AddCMAKE_CURRENT_LIST_DIR' into dev/strict-mode
9bcaff0 Merge branch 'cmake-guiRememberAdvancedCheckbox' into dev/strict-mode
544d0c3 Fix expected output for WarnUninitialized test
4e3bea4 Update expected messages to new format
8e8c9e4 Don't check at destruction for usage
668e005 Use cmake::IssueMessage for warnings
88cd4c1 Use 'CMake Warning' versus 'warning' for CDash
3c3b98d Initialize the class before setting warn flags
cf8b15a Ignore files under the CMakeFiles directory
fd50f06 Don't check for unused vars at configure time
447a04c Don't warn during configure when doing everything
b97ee21 Check for unused variables at the end of generate
c18c977 When checking for variables, specify a reason
3f1121f Use a long int since Line is a long as well
2507f93 Change the failure case string to 'Unexpected'
fe390a2 Add 'ArgumentExpansion' test
8dbb209 Wrong boolean value for CLI warnings
d4ee998 Hard-code the --no-warn-unused-cli flag
a267b99 Fix line lengths
82ed104 Flag that the directories have been set
5aa535b Add argument to arg parsing to not set directories
367e5c3 Revert "Revert "When calling CMake, set the args and the cache""
ab5d4e4 Revert "When calling CMake, set the args and the cache"
9b90040 When calling CMake, set the args and the cache
fe56002 Fix long lines for KWStyle
5d30cfc Set a watch on variables added through the gui
33c63b1 Add a method to put a watch for variables
535253f Initialize the warning variables earlier
cbb286c Fix the path detection to work for top-level
62be1f7 Initialize the usage stack earlier
c6e7fab Factor out the checks for unused variables
5e41ba8 When using the API, check for Add vs. Remove
dee1976 Fix typo in VariableUnusedViaUnset test
f231ce5 Remove old false positive avoidance code
a117e02 Revert "Add test for unused warnings at the end of scope"
2c82f2b Exempt CMAKE(CURRENT|PARENT)_LIST_FILE from usage
6d7d449 Ignore CLI warnings for ABI determination
7740a73 Only return local keys that are defined
bef3aee Use the API so that warnings can be tracked
05cb0f4 Check for unused variables in the dtor
91c4c99 Add test for unused warnings at the end of scope
ca90f67 Fix detection of unused variables when setting
f7438ca Add test for unused detection via setting it
995cfb0 Don't warn if the variable wasn't defined
aefc91d Add test for usage checks via unset
a8e97f8 Remove VarRemoved code since it's been superceded
59463ef Rework CheckVariableForUnused usage
f117423 Fix line lengths to be no more than 78
e49a935 Improve unused warning logic
e01e40c Mark ARGC, ARGV*, and ARGN as used
a17aff7 Ignore CMAKE_MATCH_* variables for usage
02a114d Add method to allow variables to be marked as used
a0b0d23 CMAKE_DO_TRY_COMPILE is no longer used
ae3eff3 Fix the path used for ignoring system warnings
056b441 Fix missing case for usage of a variable
980e048 Factor out checks for unused variables
83acb0a Remove now unused variables
3801463 Use built-ins for readability and maintainability
8b52015 Push the initialize and unused states when copying
439877f Be consistent with single and double quotes
4cf1706 Add documentation for check-system-vars
b74777f Fix the spelling of the flag for warn-unused-vars
b948120 Change logic of flag to turn off cli unused checks
f047a17 Add test for uninitialized variables
75bda38 Add tests for unused command line variables
300fc15 Fix detection of system files
d784e6a Run the unused variables check on the final pass
9efc057 VariableWatch is not available when bootstrapping
2e78224 Add a missing comma to the warning message
7499700 Add a flag to warn about system files
fff9f6d Rename flags again and use variablewatch for cli
786e269 Add warn-unused to the Qt interface
636e6c4 Default to marking things as used
4ff0340 Rename find-unused to warn-unused
d7999e9 Rename strict-mode to warn-uninitialized
e141bc9 Detect unused variables
d3e8eb5 Add flags to detect unused variables
f332e14 Complete strict-mode checks for uninitialized vars
52f9637 Add method to get the local scope variables
f794d58 Make --strict-mode option, and integrate with cmake-gui
48b5b85 Add a warning when variables are used uninitialized.
cd626ea For macros make sure the FilePath points to a valid pointer in the args.
2011-01-27 15:34:07 -05:00
Brad King dd2f81491e Merge branch 'dev/add_test-working-directory' into dev/strict-mode
Conflicts:
	Tests/CMakeLists.txt
2011-01-27 14:39:55 -05:00
David Cole b08657cf0f Xcode: Fix crash: avoid strlen call on NULL char *
Thanks to Johan Björk for the report on the CMake mailing list.
2011-01-27 06:57:12 -05:00
KWSys Robot 451c5f61c2 KWSys Nightly Date Stamp 2011-01-27 00:11:06 -05:00
Brad King 88548a45fb Handle relative WORKING_DIRECTORY in add_custom_(command|target)
This also fixes handling of trailing slashes in the directory name.
2011-01-26 18:02:02 -05:00
Brad King 7befc00783 Handle trailing slashes on add_custom_command DEPENDS 2011-01-26 18:01:33 -05:00
Brad King 833b8aa902 Merge topic 'recursive-CMAKE_USER_MAKE_RULES_OVERRIDE'
c83a834 try_compile: Allow only languages loaded in caller (#11469)
2011-01-26 15:25:18 -05:00
Brad King 7f37eac6dd Merge topic 'outdir-CMAKE_USER_MAKE_RULES_OVERRIDE'
5792d3a Always place try_compile executables predictably (#11724)
a5300f1 Clarify CMAKE_USER_MAKE_RULES_OVERRIDE documentation (#11724)
2011-01-26 15:24:44 -05:00
Brad King 5cd8b8bdfb Merge topic 'enable-using-devenv-as-cmakemakeprogram'
2ca1161 VS10: Enable using devenv as CMAKE_MAKE_PROGRAM (#11459)
2011-01-26 15:23:47 -05:00
Brad King 314ddcbf93 Merge topic 'fix-11147-avoid-vc10-filters-error-msg'
0cde56d VS10: Load projects with obj "source" files (#11147)
2011-01-26 15:23:37 -05:00
Brad King 0159424fda Merge topic 'dev/add_test-working-directory'
d94f9c6 Only set the property if the property was given
b6c302b Default the working dir to the current binary dir
0594287 Add more tests for WorkingDirectory for tests
2011-01-26 15:23:05 -05:00
Brad King 5ec9f6f609 Merge topic 'fix-try_compile-source-language-issue-11731'
699a725 Use shortest extension to verify try_compile language (#11731)
2011-01-26 15:22:27 -05:00
Brad King 41147fcf48 Merge topic 'improve-try_compile-error-messages'
1bee6b1 Improve try_compile and try_run error messages
2011-01-26 15:22:00 -05:00
Brad King c9d3b602d0 Merge topic 'fix-11668-ccmake-resize-crash'
693c9a6 Avoid exceptions when ccmake terminal window is too small (#11668)
2011-01-26 15:21:48 -05:00
David Cole 78fe97f2ff Fix line too long KWStyle issue (#11695) 2011-01-26 08:25:25 -05:00
KWSys Robot f0acf05656 KWSys Nightly Date Stamp 2011-01-26 00:10:07 -05:00
David Cole 662756036e VS10: Escape double quote chars in defines for rc files (#11695)
To get rc defines to work in the VS10 IDE requires \" when
constructing PreprocessorDefinitions strings. This is different
than defines for cl.

Also, per-file rc defines were not being generated. Fix that, too.
2011-01-25 19:01:13 -05:00
KWSys Robot 538160ce0e KWSys Nightly Date Stamp 2011-01-25 00:10:55 -05:00
Brad King c83a834d29 try_compile: Allow only languages loaded in caller (#11469)
During a try_compile cmGlobalGenerator::EnableLanguage uses results from
the outer project.  Reject attempts to enable languages in the test
project that are not "ready" in the outer project.  Mark a language as
"ready" when all its information has been loaded and we are ready to
generate build rules.

This also avoids infinite recursion introduced by commit 295b5b60 (Honor
CMAKE_USER_MAKE_RULES_OVERRIDE in try_compile, 2010-06-29) for projects
that set CMAKE_USER_MAKE_RULES_OVERRIDE to a file that uses try_compile.
The file is loaded along with the information for a given langauge so
the language is not yet "ready".
2011-01-24 10:00:45 -05:00
KWSys Robot caa2dbebb8 KWSys Nightly Date Stamp 2011-01-24 00:10:04 -05:00
KWSys Robot 87cd8ba8a0 KWSys Nightly Date Stamp 2011-01-23 00:12:03 -05:00
KWSys Robot b0fb6624cf KWSys Nightly Date Stamp 2011-01-22 00:10:54 -05:00
David Cole 2ca116189f VS10: Enable using devenv as CMAKE_MAKE_PROGRAM (#11459)
If CMAKE_MAKE_PROGRAM is set to devenv, then GenerateBuildCommand
uses it just like we used to do for VS8 and VS9. Otherwise, it
still uses MSBuild.

This will let us run the CMake test suite through devenv and make
sure all the solution and project files we generate are load-able
and build-able by the VS 2010 IDE, not just MSBuild.

Inspired-By: Robert Lenhardt
2011-01-21 13:18:06 -05:00
David Cole 0cde56dda4 VS10: Load projects with obj "source" files (#11147)
WriteCLSources should skip source files with "obj" extensions
since WriteObjSources has already written them into the vcxproj
file. Likewise, WriteGroupSources should skip source files with
"obj" extensions to avoid receiving "item ... already exists under
the filter" project-load-time error messages from Visual Studio.
2011-01-21 10:57:34 -05:00
KWSys Robot 73827b9205 KWSys Nightly Date Stamp 2011-01-21 00:10:17 -05:00
Ben Boeckel d94f9c6487 Only set the property if the property was given 2011-01-20 14:05:39 -05:00
Ben Boeckel b6c302b1aa Default the working dir to the current binary dir
Keep backwards compatability with CMake <= 2.8.3.
2011-01-20 13:52:42 -05:00
Brad King 699a725584 Use shortest extension to verify try_compile language (#11731)
If the source-file form of try_compile is given a file name with
multiple '.' characters such as "a.b.c" use only the shortest extension
to check the language.  This is the expected behavior and is consistent
with normal language extension determination in the method
cmSourceFileLocation::UpdateExtension.
2011-01-20 09:02:57 -05:00
Brad King 1bee6b172b Improve try_compile and try_run error messages
Use IssueMessage to give the messages context and better formatting.
2011-01-20 08:58:49 -05:00
Brad King 5792d3a38a Always place try_compile executables predictably (#11724)
Set CMAKE_RUNTIME_OUTPUT_DIRECTORY explicitly in try_compile projects so
that the COPY_FILE feature knows where to look.  This makes the feature
robust against CMAKE_USER_MAKE_RULES_OVERRIDE files that set variables
like CMAKE_RUNTIME_OUTPUT_DIRECTORY or EXECUTABLE_OUTPUT_PATH.
2011-01-20 08:08:47 -05:00
Brad King a5300f1d45 Clarify CMAKE_USER_MAKE_RULES_OVERRIDE documentation (#11724)
This variable was introduced to help authors override CMake's default
platform information before any of it is cached.  State this clearly in
the documentation.  Explicitly discourage use for other purposes.
2011-01-20 07:35:00 -05:00
KWSys Robot 1c8787f387 KWSys Nightly Date Stamp 2011-01-20 00:10:06 -05:00
Brad King aa2b3db322 Merge topic 'depend-scan-backslash-issue-10281'
8dc7501 Normalize slashes in scanned #include lines (#10281)
2011-01-19 14:28:41 -05:00
Brad King 3e3af1f507 Merge topic 'vs-Fortran-SCC-issue-10237'
9859c64 Honor VS_SCC_* properties in Fortran targets (#10237)
2011-01-19 14:28:36 -05:00
Brad King 3a1975c529 Merge topic 'try_compile-Makefile-config'
052c2ae Document CMAKE_TRY_COMPILE_CONFIGURATION variable
56efc60 Honor CMAKE_TRY_COMPILE_CONFIGURATION in Makefile generators (#10809)
2011-01-19 14:28:32 -05:00
Brad King 20d11b9a33 Merge topic 'xcode-subdir-regen-dependencies'
809ef30 Xcode: Make generation depend on all input directories
2011-01-19 14:28:15 -05:00
Brad King 9ea63c581b Merge topic 'fix-xcode-custom-rules-makefile'
66d9cd8 Xcode: Disable implicit make rules in custom rules makefiles.
2011-01-19 14:28:09 -05:00
Brad King cc6ba3abff Merge topic 'missing-file-dir-issue-11677'
7af41c3 Test that missing source mentions directory (#11677)
9cefce0 Report directory with missing source file (#11677)
2011-01-19 14:02:44 -05:00
Brad King db276e48c4 Merge topic 'doc-if-dereferencing-issue-10773'
7d9b903 Clarify auto-dereference cases in if() command (#11701)
e4e14e8 Replace misleading example in the if() documentation (#10773)
2011-01-19 14:02:26 -05:00
Brad King c6cb693147 Merge topic 'doc-old-get_X_property-commands'
4c980e3 Reference get_property() from old get_*_property() commands
0d7cf49 Fix get_(cmake|test)_property documentation (#11703)
2011-01-19 14:02:20 -05:00
Brad King 27039e62f9 Merge topic 'doc-try_compile-clarification'
cabb6cd Document Check(C|CXX)SourceCompiles behavior more clearly (#11688)
4da2a56 Document try_compile behavior more clearly (#11688)
2011-01-19 14:02:11 -05:00
Brad King 9ae65b866e Merge topic 'doc-hard-preprocessor-characters'
c64d138 Document COMPILE_DEFINITIONS known limitations (#11660, #11712)
668ce6b Combine duplicate COMPILE_DEFINITIONS disclaimer
2011-01-19 14:02:04 -05:00
David Cole 693c9a6236 Avoid exceptions when ccmake terminal window is too small (#11668)
Thanks to Nicolas Despres for the patch.
2011-01-19 11:24:36 -05:00
KWSys Robot 57c542a80f KWSys Nightly Date Stamp 2011-01-19 00:10:07 -05:00
KWSys Robot 00a0929c04 KWSys Nightly Date Stamp 2011-01-18 00:11:02 -05:00
Brad King 052c2ae1aa Document CMAKE_TRY_COMPILE_CONFIGURATION variable
Also reference it from try_compile and try_run since it affects those
commands.
2011-01-17 17:23:15 -05:00
Brad King 56efc60fa0 Honor CMAKE_TRY_COMPILE_CONFIGURATION in Makefile generators (#10809)
Previously this was used only in multi-configuration generators to
choose the configuration of try_compile and try_run at their build time.
Teach CMake to honor the variable in single-configuration generators as
the CMAKE_BUILD_TYPE.
2011-01-17 17:21:30 -05:00
Brad King 9859c64ffc Honor VS_SCC_* properties in Fortran targets (#10237)
Factor out generation of SccProjectName, SccLocalPath, and SccProvider
from cmLocalVisualStudio7Generator::WriteProjectStart and call it from
cmLocalVisualStudio7Generator::WriteProjectStartFortran too.
2011-01-17 15:41:24 -05:00
Brad King 8dc7501d50 Normalize slashes in scanned #include lines (#10281)
On Windows platforms source files may contain '\' in include directives:

  #include "a\b.h"

Normalize these while scanning to use forward slashes.  CMake will
convert from forward slashes to the direction preferred by the native
build tools when writing the path to 'depend.make' files.
2011-01-17 15:03:53 -05:00
Brad King 7d9b903756 Clarify auto-dereference cases in if() command (#11701)
Show "<variable|string>" explicitly in if() case documentation whenever
auto-dereferencing occurs.  Reference its presence from the explanation
at the bottom.
2011-01-17 09:43:41 -05:00
Brad King 4c980e36bb Reference get_property() from old get_*_property() commands
The former is a much more general and modern command.  Refer authors to
it from documentation of its predecessors.
2011-01-17 09:19:45 -05:00
Brad King 0d7cf4951a Fix get_(cmake|test)_property documentation (#11703)
The signature of get_test_property uses argument order

  test property VAR

not

  test VAR property

Also document the actual behavior when the property is not found.
2011-01-17 09:14:35 -05:00
Brad King c64d1385b7 Document COMPILE_DEFINITIONS known limitations (#11660, #11712)
Some values simply cannot be escaped properly in all contexts for all
native build tools.  Document known limitations after the disclaimer
that states so.
2011-01-17 08:17:38 -05:00
Brad King 668ce6b1e8 Combine duplicate COMPILE_DEFINITIONS disclaimer 2011-01-17 07:55:48 -05:00
KWSys Robot 6b084f1e04 KWSys Nightly Date Stamp 2011-01-17 00:11:02 -05:00
KWSys Robot 3ddabcbadf KWSys Nightly Date Stamp 2011-01-16 00:11:02 -05:00
Brad King 9cefce09f6 Report directory with missing source file (#11677)
Previously the error message for code like

  add_executable(myexe does_not_exist/mysrc.c)

mentioned only that "mysrc.c" is not found.  Report the directory too.
2011-01-15 08:00:11 -05:00
KWSys Robot 061f310815 KWSys Nightly Date Stamp 2011-01-15 00:10:53 -05:00
Brad King e4e14e8568 Replace misleading example in the if() documentation (#10773)
Remove the example explained by the misleading phrase "CMake will treat
it as if you wrote".  This was originally added by commit a73071ca
(modified the if command to address bug 9123 some, 2009-06-12).  Later
related information elsewhere in the documentation was corrected and
made precise by commit cb185d93 (Fix if() command and CMP0012 OLD/NEW
behavior, 2009-10-27) but the misleading example was not corrected.

Replace the example with a correct one that more directly covers the
case that typically surprises newcomers.  Avoid recommending a "correct"
way to write code because this behavior is always specific to each case.
Also update the main documentation of the behavior to be more explicit.
2011-01-14 18:28:56 -05:00
Brad King 8704525f20 Reject directory names containing '=' (#11689)
Some characters are not well-supported by native build systems.  Reject
paths containing such characters before even trying to configure a
project.
2011-01-14 10:03:22 -05:00
KWSys Robot 3a7230afe9 KWSys Nightly Date Stamp 2011-01-14 00:12:03 -05:00
Ben Boeckel 949d32c306 Unwatch manual variables upon removal in cmake-gui 2011-01-13 17:59:04 -05:00
Ben Boeckel 393903218d Unwatch manual variables upon removal in ccmake 2011-01-13 17:58:23 -05:00
Ben Boeckel 8354413463 Add method to unwatch a manual variable 2011-01-13 17:58:04 -05:00
Ben Boeckel 8ed3c85c47 Give a better message for unused variables 2011-01-13 17:56:18 -05:00
Brad King 809ef3086d Xcode: Make generation depend on all input directories
Previously the Xcode generator would rerun CMake only if input file
dependencies in the top-level directory changed.  Teach it to depend on
input files from all directories.  Other generators already do this.

Reported-by: Johan Björk <phb@spotify.com>
2011-01-13 12:07:23 -05:00
KWSys Robot f5b43f59de KWSys Nightly Date Stamp 2011-01-13 00:10:58 -05:00
Brad King 4da2a5687b Document try_compile behavior more clearly (#11688)
Explicitly state up front that the source-file form of the command links
an executable and expects a 'main' to be defined.  While at it, update
the command signature documentation to use a syntax more consistent with
other commands.  Also tweak some wording.
2011-01-12 08:13:15 -05:00
KWSys Robot 90e9b65f10 KWSys Nightly Date Stamp 2011-01-12 00:10:52 -05:00
David Cole 66d9cd8351 Xcode: Disable implicit make rules in custom rules makefiles.
With apologies to the suggester for not accenting the surname
vowel properly.

Suggested-By: Johan Bjork
2011-01-11 17:57:55 -05:00
Brad King 729db484ef Fix ArgumentExpansion test expected results
Teach the ArgumentExpansion test to expect flattened lists as has always
been the case in the CMake language.  Now that the test should pass
enable the failure regex even when CMAKE_STRICT is not on.  Replace the
reference to the old ArgumentExpansion test behavior in the workaround
comment in cmMakefile::TryCompile with a full inline explanation.
2011-01-11 17:10:28 -05:00
Brad King 50e9e7d345 Merge topic 'doc-LOCATION-property-undefined-behavior'
5734497 Document reading LOCATION_<CONFIG> early as undefined (#11671)
7ffe6d7 Document reading LOCATION early as undefined (#11671)
2011-01-11 15:53:35 -05:00
Brad King 3ef8929ee6 Merge topic 'ctest-launch-empty-rule'
6228abe CTest: Teach launcher to ignore empty/no-op make commands
2011-01-11 15:53:28 -05:00
Brad King 764015c284 Merge topic 'policy-CMP0017'
ce28737 Remove usage of CMAKE_CURRENT_LIST_DIR now that we have CMP0017
7db8db5 Improve documentation and messages for the new CMP0017
db44848 Prefer files from CMAKE_ROOT when including from CMAKE_ROOT
1e69c6f Merge branch 'user-policy-defaults' into policy-CMP0017
65a0a2a Merge branch 'include-command-whitespace' into policy-CMP0017
2011-01-11 15:52:13 -05:00
Brad King d4ed72e3bb Merge topic 'user-policy-defaults'
a364daf Allow users to specify defaults for unset policies
8e45c11 Fix indentation in cmPolicies::ApplyPolicyVersion()
2011-01-11 15:52:07 -05:00
Brad King 4ab987b7cc Merge topic 'include-command-whitespace'
75a5221 Remove trailing whitespace
2011-01-11 15:51:54 -05:00
Brad King 13cc4bb628 Merge topic 'fix_source_groups_for_custom_targets_vs10'
7bbab25 Add support for source files in custom targets for VS 10 (Bug#11330).
2011-01-11 15:51:46 -05:00
Brad King af94289f5a Merge topic 'fix-11461-add-midl-vs10'
e33cbda VSMidl Test: Use correct include_directories with VS6 (#11461)
262da91 Prohibit space in HOME value for VSMidl test.
13caaa3 VS10: Finish Midl support (#11461)
2011-01-11 15:51:08 -05:00
Brad King c73babf5d2 Merge topic 'vs-Fortran-only-DLL'
f661b95 VS: Fix linking of Fortran-only DLL projects (#10803)
2011-01-11 15:50:13 -05:00
Brad King 984ca06a8e Merge topic 'improve-build-error-detection'
89eb4bf Improve build error detection.
2011-01-11 15:49:29 -05:00
Brad King 18180cdb50 Merge topic 'linux-standard-base'
dde0c89 ccmake: Use LSB 4.0 getmaxyx conditionally
a3de30e ccmake: Use LSB 4.0 curses API conditionally
7d691ca ccmake: Port for LSB 4.0 (#11648)
2011-01-11 15:49:15 -05:00
Brad King 333e707d95 Merge topic 'fix-test-output-truncation'
e73bf1c CTest: Do not truncate UTF-8 test output too early (#10656)
2011-01-11 15:49:04 -05:00
Brad King 3272d2d96f Merge topic 'fix-10644-cpack-menu-links'
1bbe4e6 CPack: Detect more URLs in CPACK_NSIS_MENU_LINKS (#10644)
2011-01-11 15:48:24 -05:00
Brad King 7ebfa8218b Merge topic 'cpack-nsis-changes'
bee514c Add CPack NSIS MUI_FINISHPAGE_RUN support (#11144)
702c8f8 Add CPACK_NSIS_EXECUTABLES_DIRECTORY (#7828)
fec3232 Allow NSIS package or uninstall icon (#11143)
2011-01-11 15:48:18 -05:00
Richard Bateman 5457b8254c Add support for CFBundle targets on the Mac (#11295)
This commit enables building, for example, plugin bundles
to be loaded by web browsers.
2011-01-11 12:54:44 -05:00
KWSys Robot caa45a5f81 KWSys Nightly Date Stamp 2011-01-11 00:10:07 -05:00
Brad King 57344977f5 Document reading LOCATION_<CONFIG> early as undefined (#11671)
Although the LOCATION property is for compatibility with CMake 2.4, the
LOCATION_<CONFIG> property is modern.  However, if a project reads it
and sets location-altering properties later the behavior is undefined.
See parent commit for details.
2011-01-10 12:07:32 -05:00
Brad King 7ffe6d77da Document reading LOCATION early as undefined (#11671)
Reading the LOCATION target property currently locks down the result and
ignores any later changes to properties that affect it.  This may or may
not be expected and may or may not be the behavior in earlier versions
of CMake.  The property is documented as provided only for compatibility
with CMake 2.4 and alternative interfaces are now available for all
originally envisioned use cases.  We want to discourage its use without
outright deprecating it.  Add documentation to explicitly state that
reading the property before other properties are set is undefined.
2011-01-10 10:46:15 -05:00
Chuck Atkins 6228abed9b CTest: Teach launcher to ignore empty/no-op make commands 2011-01-10 10:17:13 -05:00
David Cole 6754b26bf0 KWSys: Fix WOW64 registry mode on Windows 2000 (#10759)
The previous commit did not compile with mingw gcc.
Use the Windows type FARPROC instead of void* for
the local variable.
2011-01-10 08:40:03 -05:00
KWSys Robot a300edab41 KWSys Nightly Date Stamp 2011-01-10 00:10:47 -05:00
KWSys Robot 8dba266a55 KWSys Nightly Date Stamp 2011-01-09 00:10:08 -05:00
KWSys Robot 5aa0fed854 KWSys Nightly Date Stamp 2011-01-08 00:11:03 -05:00
David Cole 1bbe4e6917 CPack: Detect more URLs in CPACK_NSIS_MENU_LINKS (#10644)
Previously, only strings containing "http:" qualified as
URLs when found in CPACK_NSIS_MENU_LINKS. Now, we use a
regex to detect strings beginning with any of the following:

  ftp://
  ftps://
  http://
  https://
  news://
  mailto:

This commit also moves the caller of CreateMenuLinks outside
the "if (cpackPackageExecutables)" block, allowing clients to
use CPACK_NSIS_MENU_LINKS without also having CPACK_PACKAGE_EXECUTABLES
defined. That bit of this commit fixes the remainder of the
issue described in http://public.kitware.com/Bug/view.php?id=7828

Also, added a set(CPACK_NSIS_MENU_LINKS ...) to the CPackComponents
test to enable verifying that all of this actually works.
2011-01-07 14:24:04 -05:00
David Cole 4b05a21302 Fix WOW64 registry mode on Windows 2000 (#10759)
CMake fails to find any registry paths on Windows 2000: according to regmon
it fails with an access denied error. I double checked all the access rights
and they are fine. After checking the access modes on MSDN I found that it
says KEY_WOW64_32KEY / KEY_WOW64_64KEY are not supported on Windows 2000.
CMake does not check if the current system supports Wow64 before applying
these flags.

This commit adds a check for IsWow64Process in kernel32.dll before adding
these flags.

Author: Axel Gembe <ago@bastart.eu.org>
Signed-off-by: Axel Gembe <ago@bastart.eu.org>
2011-01-07 07:40:07 -05:00
KWSys Robot fd4875b4c0 KWSys Nightly Date Stamp 2011-01-07 00:12:08 -05:00
Bill Hoffman 7bbab25961 Add support for source files in custom targets for VS 10 (Bug#11330).
In VS10, CMake was not adding the source files that were in the SOURCES
list for add_custom_target.  This patch fixes that issue.
2011-01-06 16:48:46 -05:00
Mike McQuaid bee514c361 Add CPack NSIS MUI_FINISHPAGE_RUN support (#11144)
MUI_FINISHPAGE_RUN is frequently used with NSIS and provides a checkbox
on the finish page of an installer which specifies whether the specified
executable should be run when the installer exits. This commit adds support
for this setting in CPack.
2011-01-06 16:21:36 -05:00
Mike McQuaid 702c8f8ba7 Add CPACK_NSIS_EXECUTABLES_DIRECTORY (#7828)
NSIS installers default to assuming the executables exist in a
directory named "bin" under the installation directory. As this
isn't usual for Windows programs, the addition of this variable
allows the customization of this directory and links still to be
created correctly.
2011-01-06 16:21:23 -05:00
Mike McQuaid fec32328b1 Allow NSIS package or uninstall icon (#11143)
Previously both CPACK_NSIS_MUI_ICON and CPACK_NSIS_MUI_UNIICON
needed to be set for either to take effect. This commit allows
either to be set rather than requiring both as users may well
want to e.g. use a default uninstall icon but a custom install
icon.
2011-01-06 15:14:38 -05:00
Brian Bassett f661b95333 VS: Fix linking of Fortran-only DLL projects (#10803)
Emit the LinkDLL attribute of VFLinkerTool for Fortran DLLs.
2011-01-06 08:06:30 -05:00
KWSys Robot 8e6ad8ce72 KWSys Nightly Date Stamp 2011-01-06 00:10:47 -05:00
David Cole 89eb4bf356 Improve build error detection.
Some were missed recently on a failed dashboard build
of ccmake on an HP-UX machine.
2011-01-05 16:13:55 -05:00
David Cole 99ddf6a12d KWSys: Retrieve QNX specific memory and processor info (#11329)
Author: Rolf Eike Beer <eike@sf-mail.de>  2010-10-18 12:03:39
2011-01-05 15:40:03 -05:00
David Cole 1c2a9b8140 KWSys: Fix CPU speed calculations (#9963)
To get from Hz to MHz the factor is 10^6, not 2^20.

Author: Rolf Eike Beer <eike@sf-mail.de>  2010-10-24 06:31:11
2011-01-05 15:40:02 -05:00
Brad King dde0c89cfc ccmake: Use LSB 4.0 getmaxyx conditionally
Use of 'getmaxyx' works on LSB but does not seem portable to other
curses versions.
2011-01-05 11:07:24 -05:00
David Cole 13caaa3eb7 VS10: Finish Midl support (#11461)
This commit addresses all of the following:
  http://public.kitware.com/Bug/view.php?id=8165
  http://public.kitware.com/Bug/view.php?id=10687
  http://public.kitware.com/Bug/view.php?id=11311
  http://public.kitware.com/Bug/view.php?id=11461

With this commit, the midl support for VS10 is as
complete as midl support ever was for VS9 and earlier.
The VSMidl test should run on all Visual Studio
generator based dashboards.

CMake no longer sends C++ compiler /D flag values
to the midl compiler in Visual Studio generated
projects. I think if we want to add that in the
future, we should add a way to pass midl compiler
specific flags and perhaps an optional way to add
in the C++ definitions, too. For now, not sending
them along gets past the immediate problem wherein
idl files in a CMake VS generated project just didn't
work at all.

The VSMidl test added in this commit was inspired by
the patch attached to 8165.

The test had to be modified such that it will run in
a directory whose name contains no spaces. There is an
existing bug filed against VS10's midl asking Microsoft
to fix that problem. But for now, the test added in this
commit works by copying the source directory to a location
that avoids spaces in the directory names.

Inspired-By: Robert Lenhardt
2011-01-05 10:37:14 -05:00
KWSys Robot 00c88bbcd8 KWSys Nightly Date Stamp 2011-01-05 00:10:21 -05:00
Brad King d04e10dd7e Merge topic 'negative-test-costs'
6b0c7de Support explicitly set test costs in non-parallel testing.
2011-01-04 15:46:16 -05:00
Brad King 70950edde0 Merge topic 'honor-explicit-zero-timeout'
51bb493 Test TIMEOUT property explicitly set to zero should be honored
2011-01-04 15:46:07 -05:00
Brad King 45b61209f9 Merge topic 'vs-force-multiple-include'
b29eadd Map multiple /FI flags for VS < 10 (#11649)
2011-01-04 15:45:51 -05:00
Brad King 0de5db7554 Merge topic 'fix-warning-char-string-constant'
0bb22cf Avoid passing string literal to char* type
2011-01-04 15:44:11 -05:00
Brad King 3556ab9f72 Merge topic 'add_support_for_windres'
971692c Build enable_language command during bootstrap
960ace1 Add testing for windows resources for mingw/msys/cygwin and remove for watcom.
060d6e8 Add support for windres to cygwin.
b2f308c Add support for windows resources with mingw/msys.
2011-01-04 15:44:07 -05:00
Brad King f1d7a5600f Merge topic 'add_preprocessor_def_vs2010_resources'
8c7b19d Only run resource test for MSVC compilers.
753e208 Disable incremental testing for this test, it crashes vs9 linker.
16e7d4b Add flags to resource builds on vs 2010 with a test.
2011-01-04 15:44:01 -05:00
Brad King e73bf1c384 CTest: Do not truncate UTF-8 test output too early (#10656)
Since commit e4beefeb (CTest: Do not munge UTF-8 output in XML files,
2009-12-08) we validate UTF-8 encoding of build and test output as it is
written to XML files.  However, in cmCTestTestHandler::CleanTestOutput
we still processed test output one byte at a time and did not recognize
multi-byte UTF-8 characters.  Presence of such characters caused early
truncation.

Teach CleanTestOutput to truncate test output at the limit but without
cutting it in the middle of a multi-byte encoding.  Also, stop avoiding
truncation in the middle of an XML tag like "<MyElement>" because the
'<' and '>' will be properly escaped in the generated XML anyway.
2011-01-04 13:20:49 -05:00
Brad King a3de30eed9 ccmake: Use LSB 4.0 curses API conditionally
Use of 'attr_t' and 'wattr_get' works on LSB but does not seem
portable to other curses versions.
2011-01-04 08:52:50 -05:00
Alex Neundorf 7db8db5b72 Improve documentation and messages for the new CMP0017
This patch incorporates the comments from Brad:
-some improvements to the documentation of CMP0017
-make the test QUIETLY search for zlib
2011-01-04 08:19:33 -05:00
Alex Neundorf db44848f44 Prefer files from CMAKE_ROOT when including from CMAKE_ROOT
This patch makes include() and find_package() prefer cmake files
located in CMAKE_ROOT over those in CMAKE_MODULE_PATH.
This makes sure that the including file gets that file included
which it expects, i.e. the one from cmake with which it was tested.
It only changes behaviour when such an included file exists both
in CMAKE_MODULE_PATH and in CMAKE_ROOT.
This comes together with a new policy CMP0017, with default
behaviour it behaves as it always did, but warns.
With NEW behaviour it includes the file from CMAKE_ROOT
instead from CMAKE_MODULE_PATH. This fixes (if CMP0017 is set)
building KDE 4.5 with cmake >= 2.8.3.
Also a basic test for this policy in included.
2011-01-04 08:06:20 -05:00
Brad King 1e69c6f37f Merge branch 'user-policy-defaults' into policy-CMP0017 2011-01-04 08:04:29 -05:00
Alex Neundorf 75a522110d Remove trailing whitespace 2011-01-04 07:59:24 -05:00
Brad King a364daf1fd Allow users to specify defaults for unset policies
Check CMAKE_POLICY_DEFAULT_CMP<NNNN> for a default when policy CMP<NNNN>
would otherwise be left unset.  This allows users to set policies on the
command line when the project does not set them.  One may do this to
quiet warnings or test whether a project will build with new behavior
without modifying code.  There may also be cases when users want to
build an existing project release using new behavior for policies
unknown to the project at the time of the release.
2011-01-04 07:46:10 -05:00
Alex Neundorf 8e45c1128c Fix indentation in cmPolicies::ApplyPolicyVersion()
Alex
2011-01-04 07:42:49 -05:00
KWSys Robot c59ed29552 KWSys Nightly Date Stamp 2011-01-04 00:11:01 -05:00
Zach Mullen 51bb493574 Test TIMEOUT property explicitly set to zero should be honored 2011-01-03 14:41:25 -05:00
Craig Scott 7d691cab9b ccmake: Port for LSB 4.0 (#11648)
Use getmaxyx instead of getmax[xy].  Avoid using getattrs.
2011-01-03 12:15:41 -05:00
Brad King a67fd72659 KWSys: Remove useless include <sys/procfs.h> (#11648)
The header was included only under "#ifdef __linux", but not all Linux
distributions provide the header.  SystemInformation uses no symbols
from this header, so do not include it.
2011-01-03 12:03:03 -05:00
Zach Mullen 6b0c7ded57 Support explicitly set test costs in non-parallel testing. 2011-01-03 11:25:46 -05:00
Brad King b29eadd8f3 Map multiple /FI flags for VS < 10 (#11649)
The /FI flag may be repeated so the flag table entry needs to be marked
with SemicolonAppendable.  This was already the case for VS 10.
2011-01-03 10:02:16 -05:00
Ben Boeckel 89c25443a6 Checking for a definition is a usage 2011-01-03 08:47:04 -05:00
Ben Boeckel 5625dee390 Don't output to stderr in the GUI 2011-01-03 08:45:48 -05:00
KWSys Robot edff9207ed KWSys Nightly Date Stamp 2011-01-03 00:10:09 -05:00
KWSys Robot 4e0681abd7 KWSys Nightly Date Stamp 2011-01-02 00:10:07 -05:00
KWSys Robot 6fbdac97d5 KWSys Nightly Date Stamp 2011-01-01 00:10:48 -05:00
KWSys Robot 60fa5bac57 KWSys Nightly Date Stamp 2010-12-31 00:10:46 -05:00
Brad King 971692c055 Build enable_language command during bootstrap
Commit 060d6e88 (Add support for windres to cygwin, 2010-12-23) and
commit b2f308c8 (Add support for windows resources with mingw/msys,
2010-12-22) introduced enable_language(RC) for the first time in a
platform file processed by a bootstrap-built cmake.
2010-12-30 12:59:57 -05:00
KWSys Robot 91c06e9022 KWSys Nightly Date Stamp 2010-12-30 00:11:02 -05:00
KWSys Robot 5e9d8a2952 KWSys Nightly Date Stamp 2010-12-29 00:10:40 -05:00
Brad King 726861ce69 Merge topic 'FixCrashInEclipseGenerator'
d18c8d6 Fix crash in Eclipse generator with empty project (#11616)
2010-12-28 15:26:15 -05:00
Brad King 97c5171d6c Merge topic 'dev/add_test-working-directory'
667a90a Fix sentence break in add_test documentation
96309fc Make TestsWorkingDirectory test a C file
a4a5e37 Use iostream to make Borland happy
cfe53cd Fully specify the path to old-signature add_test
017d4e9 Group adding tests with its properties
561cc33 Only test the default cwd with Makefiles
d87bae7 Simplify the _default_cwd derivation
992c74f Use --><-- markers to denote the path
5249551 Flip slashes around on Windows
0a014da Add ctype.h include for toupper()
af12f83 Fix header includes for C++ and Visual Studio
5597aa2 Rename the project to match the test
9bf4165 Add tests for WORKING_DIRECTORY arg to add_test
42de5d0 Add WORKING_DIRECTORY argument to add_test
7679f9f Rename WorkingDirectory test
d95f817 Add the WORKING_DIRECTORY property to tests
2010-12-28 15:25:49 -05:00
Brad King 0bb22cfabe Avoid passing string literal to char* type 2010-12-28 09:57:35 -05:00
Brad King 75191fa312 KWSys: Avoid passing string literal as char*
Pass the lpClass argument of RegCreateKeyEx as a real char[] instead of
a string literal.  At least one platform declares the argument as char*
instead of "const char*".
2010-12-28 09:57:09 -05:00
KWSys Robot 428e0e0ab9 KWSys Nightly Date Stamp 2010-12-28 00:10:42 -05:00
KWSys Robot 0ccc5bcec6 KWSys Nightly Date Stamp 2010-12-27 00:10:41 -05:00
KWSys Robot 0cbf312e89 KWSys Nightly Date Stamp 2010-12-26 00:10:11 -05:00
KWSys Robot b1fdebc14c KWSys Nightly Date Stamp 2010-12-25 00:10:44 -05:00
KWSys Robot 7159435843 KWSys Nightly Date Stamp 2010-12-24 00:10:04 -05:00
Bill Hoffman b2f308c8f9 Add support for windows resources with mingw/msys. 2010-12-23 17:04:49 -05:00
KWSys Robot 97e64e8607 KWSys Nightly Date Stamp 2010-12-23 00:10:37 -05:00
KWSys Robot 104cd4acd8 KWSys Nightly Date Stamp 2010-12-22 00:10:03 -05:00
Alex Neundorf d18c8d6ad7 Fix crash in Eclipse generator with empty project (#11616)
If there was no language at all enabled, CMAKE_BUILD_TYPE was empty,
which was not expected, and made the generator crash.

Alex
2010-12-21 21:59:39 +01:00
Brad King 667a90a084 Fix sentence break in add_test documentation
Commit 42de5d02 (Add WORKING_DIRECTORY argument to add_test, 2010-12-16)
added a new sentence to a paragraph without separating it by "  " from
the previous sentence.  Add the missing spaces.
2010-12-21 14:15:05 -05:00
Brad King 9f46051490 Merge topic 'cygwin'
85c0a69 Cygwin: Do not define 'WIN32' (#10122)
62c6d2d Merge branch 'cmake_--system-information_min-version' into cygwin
72db20f Merge branch 'tests-if-CYGWIN' into cygwin
5adef16 Merge branch 'cygwin-module-prefix' into cygwin
cbc3258 Merge branch 'try-compile-min-version' into cygwin
2010-12-21 14:06:32 -05:00
Brad King 31b0657e7d Merge topic 'custom-command-generator-expressions'
4499d50 Mark CustomCommand test perconfig.out as SYMBOLIC
f0cdb60 Introduce "generator expression" syntax to custom commands (#11209)
4749e4c Record set of targets used in cmGeneratorExpression
ef9e9de Optionally suppress errors in cmGeneratorExpression
45e1953 Factor per-config sample targets out of 'Testing' test
4091bca Factor generator expression docs out of add_test
bfb7288 Record backtrace in cmCustomCommand
2010-12-21 14:03:24 -05:00
Brad King 533f5a2037 Merge topic 'custom-command-refactor'
53ea8b3 Merge branch 'imported-target-dependencies' into custom-command-refactor
1a29cca Remove cmLocalGenerator::GetRealLocation
542b517 Factor out common custom command generator
6fe5b3d Simplify VS generator ConstructScript interface
2010-12-21 14:03:02 -05:00
Brad King ea38628366 Merge topic 'ctest-git-send-committer'
5992526 CTest: Factor out duplicate Git author/committer code
307b8a6 CTest git update should pass the committer as well as the author
2010-12-21 14:02:39 -05:00
Brad King 3a7edc14a0 Merge topic 'fix_docs_for_language_property'
afbfb7a Add more documentation for LANGUAGE property.
2010-12-21 14:02:04 -05:00
Brad King 2031b6a9f3 Merge topic 'vs2010_header_only_fix'
f578381 Fix vs2010 project generation error when HEADER_FILE_ONLY is set.
2010-12-21 14:01:38 -05:00
Brad King 12e7bdea50 Merge topic 'vs10-sln-msbuild-workaround'
e1442ac Avoid msbuild ".\" idiosyncrasy that builds multiple configs (#11594)
42a2e9d Revert "Avoid msbuild idiosyncrasy that builds multiple configs" (#11633)
2c2eee6 Revert "Remove unused parameter "root" in some VS generator methods"
2010-12-21 14:01:25 -05:00
Brad King f94c4a35be Merge topic 'always_enable_generate'
3f158c6 cmake-gui: always enable generate button.
2010-12-21 14:01:08 -05:00
Brad King c85b8189cf Merge topic 'fix-11487-multiple-test-calls'
744366f CTest: multiple ctest_test calls w/LABEL regexs (#11487)
2010-12-21 14:00:56 -05:00
Brad King b482ba3e38 Merge topic 'fix-10587-avoid-try-compile-warnings'
984acc8 VS10: avoid warning, no nologo when verbose (#10587)
2010-12-21 14:00:27 -05:00
Brad King 17025ebda1 Merge topic 'fix-8210-find-makensis-in-path'
cd9aa73 CPack: look for makensis in the PATH (#8210)
2010-12-21 13:59:58 -05:00
Brad King 1f401294d4 Merge topic 'fix-11533-vs10-custom-build-err'
66e7917 VS10: stop build on custom command error (#11533)
2010-12-21 13:59:35 -05:00
Brad King 27b86ece8f Merge topic 'xcode-version-3.2'
f7d525e Xcode: Generate native 3.2 projects
2010-12-21 13:59:28 -05:00
Brad King ccc790f160 Merge topic 'remove-GetMaximumFilePathLength-call'
b97760f Remove call to SystemTools::GetMaximumFilePathLength
2010-12-21 13:59:21 -05:00
Brad King b005910812 Merge topic 'file-GLOB-use-case-warning'
26cc29a Warn in find(GLOB) docs about bad use case (#11617)
2010-12-21 13:59:13 -05:00
Brad King 7a7a2cbd31 Merge topic 'ctest-depend-cycle'
1f7133c CTest: Fix line-too-long style in DEPEND cycle error
f48d3bc CTest: Fix test DEPEND cycle detection
2010-12-21 13:58:21 -05:00
Bill Hoffman 16e7d4ba2c Add flags to resource builds on vs 2010 with a test. 2010-12-21 09:20:57 -05:00
Brad King 4c88a8622d KWSys: Avoid buffer overflow in SystemInformation (#11018)
Use std::string instead of fixed-size char arrays.

Author: Ben Boeckel <ben.boeckel@kitware.com>
2010-12-21 08:25:33 -05:00
KWSys Robot 112ada2eb6 KWSys Nightly Date Stamp 2010-12-21 00:10:48 -05:00
Brad King 5992526482 CTest: Factor out duplicate Git author/committer code
Factor out date/time format code into FormatDateTime function instead of
duplicating it.
2010-12-20 17:16:25 -05:00
Zach Mullen 307b8a6e69 CTest git update should pass the committer as well as the author 2010-12-20 16:05:40 -05:00
Bill Hoffman afbfb7ac1d Add more documentation for LANGUAGE property.
Make it clear that if you set the language on a file, it will be compiled.
2010-12-20 15:46:11 -05:00
Bill Hoffman f578381e66 Fix vs2010 project generation error when HEADER_FILE_ONLY is set.
In vs2010 a bad project file could be generated if a .c or .cxx file
was marked with HEADER_FILE_ONLY, if it was in a library that contained
both c and c++ code.  This fixes the error in the code, and adds a test
for this case.
2010-12-20 15:25:16 -05:00
Brad King e1442ac9c1 Avoid msbuild ".\" idiosyncrasy that builds multiple configs (#11594)
If a .sln file refers to a project file with a leading ".\", as in
".\foo.vcxproj" instead of just "foo.vcxproj" or a full path then
msbuild behaves strangely.  Whenever target foo is built as a dependency
of another target, msbuild brings multiple configurations up to date
instead of just the requested configuration!

Avoid a leading ".\" in project file references to avoid this behavior.
This alternative fix to that attempted by commit 57e71533 (Avoid msbuild
idiosyncrasy that builds multiple configs, 2010-12-10) avoids use of
full path project file references which vcbuild does not support.
2010-12-20 11:56:18 -05:00
Brad King 42a2e9d91a Revert "Avoid msbuild idiosyncrasy that builds multiple configs" (#11633)
This reverts commit 57e71533f4.

While "msbuild" can handle full paths to project files in solutions,
the old "vcbuild" used for VS < 10 cannot.  We will need another
way to fix issue #11594.
2010-12-20 11:32:14 -05:00
Brad King 2c2eee61c1 Revert "Remove unused parameter "root" in some VS generator methods"
This reverts commit 10f01ae962.
2010-12-20 11:15:55 -05:00
KWSys Robot 34a2dee75d KWSys Nightly Date Stamp 2010-12-20 00:10:56 -05:00
KWSys Robot b8c8fe49da KWSys Nightly Date Stamp 2010-12-19 00:10:08 -05:00
KWSys Robot 5ae9ccd2c6 KWSys Nightly Date Stamp 2010-12-18 00:10:03 -05:00
Clinton Stimpson 3f158c6dfa cmake-gui: always enable generate button. 2010-12-17 19:04:57 -07:00
Clinton Stimpson 744366fc0b CTest: multiple ctest_test calls w/LABEL regexs (#11487)
The Initialize method was not re-initializing everything
that it should have been. This commit fixes that.
2010-12-17 17:30:13 -05:00
David Cole 984acc884b VS10: avoid warning, no nologo when verbose (#10587)
For prior versions of Visual Studio we would intentionally pass
"/nologo-" for "verbose makefiles" (CMAKE_VERBOSE_MAKEFILE ON)
when the caller did not already explicitly specify either /nologo
or /nologo-. And we still do. For the prior versions.

This had the side effect of always passing /nologo- for try_compile
operations because try_compile generates projects that have verbose
makefiles on.

However, starting with Visual Studio 10, the compiler emits
"cl ... warning D9035: option 'nologo-' has been deprecated"
when passed "/nologo-".

Therefore, this commit removes setting "/nologo-" for verbose
makefiles in the Visual Studio 10 case to avoid emitting a
warning for every single invocation of the compiler in a given
build.

With Visual Studio 10, we do not set this flag either way
and therefore, the generated project has no value for this
setting and gets Visual Studio's default value, which is
of course "/nologo", which does not produce a warning.

With Visual Studio 10, a caller can still force "/nologo-"
if desired by adding it explicitly to CMAKE_C_FLAGS or
CMAKE_CXX_FLAGS.
2010-12-17 16:01:19 -05:00
Brad King 85c0a69a92 Cygwin: Do not define 'WIN32' (#10122)
One of Cygwin's goals is to build projects using the POSIX API with no
Windows awareness.  Many CMake-built projects have been written to test
for UNIX and WIN32 but not CYGWIN.  The preferred behavior under Cygwin
in such projects is to take the UNIX path but not the WIN32 path.

Unfortunately this change is BACKWARDS INCOMPATIBLE for Cygwin-aware
CMake projects!  Some projects that previously built under Cygwin and
are Cygwin-aware when they test for WIN32 may now behave differently.
Eventually these projects will need to be updated, but to help users
build them in the meantime we print a warning about the change in
behavior.  Furthermore, one may set CMAKE_LEGACY_CYGWIN_WIN32 to request
old behavior during the transition.

Normally we avoid backwards incompatible changes, but we make an
exception in this case for a few reasons:

(1) This behavior is preferred by Cygwin's design goals.

(2) A warning provides a clear path forward for everyone who may see
incompatible behavior, and CMAKE_LEGACY_CYGWIN_WIN32 provides a
compatibility option.  The warning and compatibility option both
disappear when the minimum required version of CMake in a project is
sufficiently new, so this issue will simply go away over time as
projects are updated to account for the change.

(3) The fixes required to update projects are fairly insignificant.
Furthermore, the Cygwin distribution has no releases itself so project
versions that predate said fixes tend to be difficult to build anyway.

(4) This change enables many CMake-built projects that did not
previously build under Cygwin to work out-of-the-box.  From bug #10122:

  "I have built over 120 different source packages with (my patched)
   CMake, including most of KDE4, and have found that NOT defining
   WIN32 on Cygwin is much more accurate." -- Yaakov Selkowitz

A fully compatible change would require patches on top of these project
releases for Cygwin even though they otherwise need not be aware of it.

(5) Yaakov has been maintaining a fork of CMake with this change for the
Cygwin Ports distribution.  It works well in practice.  By accepting the
change in upstream CMake we avoid confusion between the versions.

CMake itself builds without WIN32 defined on Cygwin.  Simply disable
CMAKE_LEGACY_CYGWIN_WIN32 explicitly in our own CMakeLists.txt file.
2010-12-17 14:19:58 -05:00
David Cole cd9aa73f3a CPack: look for makensis in the PATH (#8210)
Previously, we would search in the Windows registry for the path
to makensis, and fail immediately if we could not read the registry
value, assuming that it was simply not installed.

This change looks for makensis in the PATH even if the registry value
is not there, enabling the scenario where makensis is installed without
admin privileges and never even touches HKEY_LOCAL_MACHINE during the
non-admin install.
2010-12-17 13:29:10 -05:00
David Cole 66e7917532 VS10: stop build on custom command error (#11533)
In VS9 and previous versions, :VCReportError is the goto label
to jump to after a failed custom command. It stops the build
before it tries to go any further.

In VS10, :VCEnd is the correct label to use.

Create a method in the VS generators to provide the correct
line of script to use for each version of Visual Studio.

For more internal details, search for VCEnd in the
C:\Program Files\MSBuild directory.
2010-12-17 11:11:55 -05:00
Brad King ad25a968b9 Merge branch 'ImprovedDotSupport2' into dev/strict-mode
Conflicts:
	Source/cmake.cxx
2010-12-17 10:32:01 -05:00
Brad King c128abe383 Merge branch 'AddCMAKE_CURRENT_LIST_DIR' into dev/strict-mode
Conflicts:
	Source/cmMakefile.cxx
2010-12-17 10:31:41 -05:00
Brad King 9bcaff02ff Merge branch 'cmake-guiRememberAdvancedCheckbox' into dev/strict-mode
Conflicts:
	Source/QtDialog/CMakeSetupDialog.cxx
2010-12-17 10:31:19 -05:00
Brad King f7d525e3a6 Xcode: Generate native 3.2 projects
Set objectVersion = 46; compatibilityVersion = "Xcode 3.2" when
Xcode 3.2 is detected.
2010-12-17 08:41:32 -05:00
KWSys Robot d11c70295b KWSys Nightly Date Stamp 2010-12-17 00:10:43 -05:00
Brad King b97760fa52 Remove call to SystemTools::GetMaximumFilePathLength
The KWSys SystemTools::GetMaximumFilePathLength method is poorly
conceived and should not be used.  The cmDepends code honors its own
MaxPath buffer size.  Just hard-code it.
2010-12-16 17:41:27 -05:00
Ben Boeckel 42de5d02dd Add WORKING_DIRECTORY argument to add_test 2010-12-16 16:50:47 -05:00
Rolf Eike Beer d95f817f77 Add the WORKING_DIRECTORY property to tests 2010-12-16 16:23:18 -05:00
Brad King 26cc29a8e2 Warn in find(GLOB) docs about bad use case (#11617)
The first instinct of a lot of users is to use file(GLOB) to assemble
lists of sources.  Add a warning to the help text stating that it should
not be used for this purpose and briefly explain why.

Suggested-By: Ryan Pavlik
2010-12-16 15:49:32 -05:00
Brad King 72ebd4ee12 Merge topic 'try_compile-RemoveFile'
097294e Fix try_compile RemoveFile anti-virus loop (#11503)
2010-12-16 14:00:28 -05:00
Brad King 6b61c04330 Merge topic 'try-compile-min-version'
2afb820 Write full version into try_compile CMakeLists
2010-12-16 14:00:24 -05:00
Brad King ed9979f931 Merge topic 'link-depend-def-file'
3e27997 Make link rule depend on ".def" file (#11014)
2010-12-16 14:00:17 -05:00
Brad King 419302e2d6 Merge topic 'doc-target_link_libraries-scope'
999ce0a Document target_link_libraries target scope (#11058)
2010-12-16 14:00:11 -05:00
Brad King 92199485c0 Merge topic 'custom-command-slashes'
a75a0a1 Normalize add_custom_command OUTPUT names (#10485)
2010-12-16 14:00:00 -05:00
Brad King 4f769d18d1 Merge topic 'cray-compiler'
ab9ebb0 Fix Fortran .mod timestamps with Cray compiler
2010-12-16 13:59:57 -05:00
Brad King ceae8b1062 Merge topic 'CPack-MoreComponentControls'
6d94ea3 CPack  use IsOn when it's better than IsSet
2010-12-16 13:59:45 -05:00
Brad King 83b836f61e Merge topic 'CPack-DynMONOLITHIC_INSTALL'
17b05e6 CPack Honor CPACK_MONOLITHIC_INSTALL at CPack time too
2010-12-16 13:59:40 -05:00
Brad King 1f7133cd61 CTest: Fix line-too-long style in DEPEND cycle error 2010-12-16 08:07:43 -05:00
KWSys Robot aadee46c60 KWSys Nightly Date Stamp 2010-12-16 00:10:05 -05:00
Brad King f48d3bc5ba CTest: Fix test DEPEND cycle detection
A cycle exists when the DFS returns to the root node, not just when
multiple paths lead to the same node.

Inspired-By: Alexander Esilevich <aesilevich@pathscale.com>
2010-12-15 16:49:34 -05:00
Brad King f0cdb6001b Introduce "generator expression" syntax to custom commands (#11209)
Evaluate in the COMMAND arguments of custom commands the generator
expression syntax introduced in commit d2e1f2b4 (Introduce "generator
expressions" to add_test, 2009-08-11).  These expressions have a syntax
like $<TARGET_FILE:mytarget> and are evaluated during build system
generation.  This syntax allows per-configuration target output files to
be referenced in custom command lines.
2010-12-15 14:53:48 -05:00
Brad King 4749e4cb76 Record set of targets used in cmGeneratorExpression 2010-12-15 14:53:46 -05:00
Brad King ef9e9de0b8 Optionally suppress errors in cmGeneratorExpression 2010-12-15 14:53:39 -05:00
Brad King 4091bca4ec Factor generator expression docs out of add_test
This documentation may be reused wherever generator expressions are
supported.
2010-12-15 14:53:31 -05:00
Brad King bfb7288f81 Record backtrace in cmCustomCommand
This will be used to report custom command errors to the user with a
backtrace pointing at the add_custom_command or add_custom_target call.
2010-12-15 14:53:24 -05:00
Brad King 999ce0aa9c Document target_link_libraries target scope (#11058)
The target_link_libraries command requires its first argument to be a
target in the current directory.  Document this and update the error
message to be more specific.  While at it, format the error message with
a call stack.
2010-12-15 12:18:59 -05:00
Brad King 3e279971fb Make link rule depend on ".def" file (#11014)
When the link command line references a ".def" file the rule should
depend on it.

Inspired-By: Eric Huhtala
2010-12-15 11:30:57 -05:00
Brad King a75a0a1448 Normalize add_custom_command OUTPUT names (#10485)
Previously the OUTPUT arguments of add_custom_command were not
slash-normalized but those of add_library and add_executable were.
This caused the example

  add_custom_command(OUTPUT a//b.c ...)
  add_library(... a//b.c ...)

to fail at build time with "no rule to make a/b.c".  Fix this and modify
the CustomCommand test to try it.
2010-12-15 08:44:57 -05:00
KWSys Robot a14a8562ea KWSys Nightly Date Stamp 2010-12-15 00:10:03 -05:00
Brad King 3a14b6e556 KWSys: Do not mangle UNC paths in ConvertToUnixOutputPath (#10206)
This method replaces '//' with '/' to make the paths look nicer.
Originally it correctly skipped a leading '//' in a UNC path as the
comment says.  However, commit "Removed extra variable initializations"
(2005-04-15) accidentally removed the "pos=1" initializer.  It was then
incorrectly restored by commit "Added missing variable initialization"
(2005-04-15) as just "pos=0".  Restore the proper initializer.

The test for this added by commit "better coverage" (2006-07-31)
included incorrect output for a sample UNC-like path.  Fix it.
2010-12-14 18:13:03 -05:00
Brad King cbc3258e67 Merge branch 'try-compile-min-version' into cygwin 2010-12-14 16:48:04 -05:00
Brad King 2afb820352 Write full version into try_compile CMakeLists
Pass the full version to cmake_minimum_required(VERSION) in generated
CMake files for try_compile projects.  This tells CMake not to use any
backward compatibility behavior while processing code it generates.
2010-12-14 16:36:55 -05:00
Brad King 2d1aa4ad06 Merge topic 'dev/support-substring-negative-indices'
36cb701 allow STRING(SUBSTRING) work with length -1 as "rest of the string"
2010-12-14 14:39:10 -05:00
Brad King 03c4623fb4 Merge topic 'ParallelEclipseMakefiles2'
27ee50a Add ECLIPSE_CDT4_GENERATE_SOURCE_PROJECT as a ADVANCED cache variable (#9631)
50d21d4 Add cache var CMAKE_ECLIPSE_MAKE_ARGUMENTS when using the Eclipse generator
2010-12-14 14:38:55 -05:00
Brad King f7036a1603 Merge topic 'custom-command-depend'
ced1d5e Skip file-level dependencies on custom targets (#11332)
e30a775 Improve signature of cmLocalGenerator::GetRealDependency
2010-12-14 14:38:48 -05:00
Brad King 5161f85ef2 Merge topic 'vs10-sln-msbuild-workaround'
10f01ae Remove unused parameter "root" in some VS generator methods
57e7153 Avoid msbuild idiosyncrasy that builds multiple configs (#11594)
7728172 Remove unused variable "rootdir" in VS generators
2010-12-14 14:38:30 -05:00
Brad King 5bea0917ef Merge topic 'fix_incremental_vs2010'
cddcad5 Fix incremental linking for VS2010 with nmake or make.
2010-12-14 14:38:27 -05:00
Brad King f1adcefdf4 Merge topic 'cross-compile-apple-host'
3b7f901 Fix soname in cross-compiled targets with Mac host (#11547)
2010-12-14 14:38:18 -05:00
Brad King 24b251ac55 Merge topic 'doc-ctest_sleep'
7145ca6 CTest: Fix ctest_sleep documentation (#11554)
2010-12-14 14:38:13 -05:00
Brad King b0dffc7e9c Merge topic 'parallel-make-install-of-CMake'
608d6bb Fix parallel "make install" of CMake itself
2010-12-14 14:38:09 -05:00
Brad King adf62a98f3 Merge topic 'imported-target-dependencies'
a765c49 Honor custom command dependencies on imported targets (#10395)
2010-12-14 14:38:04 -05:00
Brad King 75844666ac Merge topic 'fix-INSTALL-and-PACKAGE-depend-tracing'
8e82773 Remove unused GLOBAL_TARGET generation code
0621362 Fix dependency tracing of INSTALL and PACKAGE (#11598)
2010-12-14 14:37:52 -05:00
Brad King b7c29a4d73 Merge topic 'vs10-express-64bit'
fb97ba6 Enable 64-bit tools with VS 2010 Express (#9981, #10722)
2010-12-14 14:37:30 -05:00
KWSys Robot da0a8f7f44 KWSys Nightly Date Stamp 2010-12-14 13:30:03 -05:00
Brad King ffac70b528 KWSys: Use EXPORT name only if installing library
Do not set KWSYS_INSTALL_LIBRARY_RULE just because the parent project set
KWSYS_INSTALL_EXPORT_NAME.  Require KWSYS_INSTALL_LIB_DIR to be set too.
2010-12-14 13:30:03 -05:00
Brad King 8e82773eb4 Remove unused GLOBAL_TARGET generation code
Remove a boolean parameter of cmGlobalGenerator::CreateGlobalTarget that
is never set to true anymore.  Remove global target "consolidation" loop
because no global targets exist before it runs anymore.
2010-12-13 12:59:26 -05:00
Brad King 0621362668 Fix dependency tracing of INSTALL and PACKAGE (#11598)
Commit e01cce28 (Allow add_dependencies() on imported targets,
2010-11-19) started using cmMakefile::FindTargetToUse to follow
dependencies, including those of GLOBAL_TARGETs like INSTALL and
PACKAGE.  Since global targets exist in every directory, dependencies
between them must be traced within each directory too.

Teach FindTargetToUse to check the current directory before checking
globally.  For global targets this will find the local copy.  For for
normal targets this will be a no-op because they are globally unique.
2010-12-13 12:56:47 -05:00
KWSys Robot b5d7f2c57c KWSys Nightly Date Stamp 2010-12-13 00:10:05 -05:00
Alex Neundorf 50d21d4251 Add cache var CMAKE_ECLIPSE_MAKE_ARGUMENTS when using the Eclipse generator
This variable can be set to command line arguments which will be passed
to make when eclipse invokes make, e.g. you can enter "-j8" to get
8 parallel builds (#9930)

Alex
2010-12-12 16:52:20 +01:00
Eric NOULARD 6d94ea3692 CPack use IsOn when it's better than IsSet
This authorize more control because one can set
CPACK_ARCHIVE_COMPONENT_INSTALL to ON globally
and then set it selectively to OFF inside
a CPack project config file.
Sidenote: GetOption ought to be a 'const' method.
2010-12-12 12:55:02 +01:00
Eric NOULARD 17b05e6d7f CPack Honor CPACK_MONOLITHIC_INSTALL at CPack time too 2010-12-12 12:30:42 +01:00
KWSys Robot 1b98d99c28 KWSys Nightly Date Stamp 2010-12-12 00:10:02 -05:00
KWSys Robot da4c2f6214 KWSys Nightly Date Stamp 2010-12-11 00:10:32 -05:00
Brad King 10f01ae962 Remove unused parameter "root" in some VS generator methods
The previous commit removed the last use of this parameter from the
implementation of WriteTargetsToSolution.  Remove the parameter.
2010-12-10 14:33:34 -05:00
Brad King 57e71533f4 Avoid msbuild idiosyncrasy that builds multiple configs (#11594)
If a .sln file refers to a project file with a leading ".\", as in
".\foo.vcxproj" instead of just "foo.vcxproj" or a full path then
msbuild behaves strangely.  Whenever target foo is built as a dependency
of another target, msbuild brings multiple configurations up to date
instead of just the requested configuration!

Refer to all project files by full path to avoid this behavior.
2010-12-10 14:26:56 -05:00
Brad King 772817242b Remove unused variable "rootdir" in VS generators 2010-12-10 14:21:18 -05:00
KWSys Robot b90e9f9c3a KWSys Nightly Date Stamp 2010-12-10 00:10:28 -05:00
Bill Hoffman cddcad5102 Fix incremental linking for VS2010 with nmake or make.
VS2010 deprecated /INCREMENTAL:YES.  This change makes
/INCREMENTAL the flag to use for incremental linking with
VS2010.
2010-12-09 13:32:48 -05:00
Brad King 3b7f901494 Fix soname in cross-compiled targets with Mac host (#11547)
The soname generation code was compile-time selected instead of runtime
selected.  The result is that a Mac-compiled cmake used to cross-compile
Mac -> Unix generates an soname of the form libfoo.x.y.so instead of
libfoo.so.x.y as expected.  Instead do a runtime check based on the
target platform.

Inspired-By: George Staikos <staikos@kde.org>
2010-12-09 11:18:25 -05:00
Brad King 7145ca67fc CTest: Fix ctest_sleep documentation (#11554)
Document behavior consistently with the implementation.
2010-12-09 10:37:28 -05:00
Brad King 608d6bba89 Fix parallel "make install" of CMake itself
Avoid tracing dependencies of GLOBAL_TARGET targets.  The build system
generators are not designed to handle any dependencies that may be
discovered.  Global targets are only generated by CMake and never have
commands that reference targets built in the project anyway.

The exception is when building CMake itself there is a special case to
use the just-built "cmake" binary in the "install" target so that CMake
can replace itself on Windows.  Even in this special case we do not want
to let the "install" target depend on the "cmake" target.  Doing so
breaks cases like "make -j4 install".
2010-12-09 10:12:12 -05:00
KWSys Robot d25638ac05 KWSys Nightly Date Stamp 2010-12-09 00:10:41 -05:00
Brad King 306427c079 KWSys: Remove realpath from SystemTools::GetPath (#10335)
Commit "merge in changes for beos support" (2006-12-04) added a realpath
call for every directory parsed out of a PATH-style environment
variable.  No reason was given in the commit message or comments.

The call incorrectly resolves symlinks in referenced paths.  Remove it.
If BeOS support really needs it then it can be restored for that
platform with a full explanation.
2010-12-08 18:04:10 -05:00
Brad King 53ea8b3204 Merge branch 'imported-target-dependencies' into custom-command-refactor 2010-12-08 17:30:02 -05:00
Brad King 1a29ccaf9a Remove cmLocalGenerator::GetRealLocation
The cmCustomCommandGenerator::GetCommand method completely replaces the
purpose of this method.  Re-implement GetRealLocation inline at the only
remaining call site and remove it.
2010-12-08 17:29:53 -05:00
Brad King 542b517449 Factor out common custom command generator
The Makefile, VS, and Xcode generators previously duplicated some custom
command line generation code.  Factor this out into a separate class
cmCustomCommandGenerator shared by all generators.
2010-12-08 17:29:20 -05:00
Brad King 6fe5b3db0b Simplify VS generator ConstructScript interface
Pass to cmLocalVisualStudioGenerator::ConstructScript a cmCustomCommand
instance instead of extracting arguments at all call sites.
2010-12-08 17:29:20 -05:00
Brad King ced1d5eccd Skip file-level dependencies on custom targets (#11332)
A custom command may name a target created by add_custom_target in its
DEPENDS field.  Treat this case as a target-level dependency only since
a custom target provides no standard file on which to add a file-level
dependency.
2010-12-08 17:14:17 -05:00
Brad King e30a775f68 Improve signature of cmLocalGenerator::GetRealDependency
Allow file-level custom command dependencies to be skipped.
2010-12-08 17:14:14 -05:00
Rolf Eike Beer 36cb701690 allow STRING(SUBSTRING) work with length -1 as "rest of the string"
This fixes the first half of bug 10740.
2010-12-08 16:38:30 -05:00
Brad King a765c491ad Honor custom command dependencies on imported targets (#10395)
Imported targets do not themselves build, but we can follow dependencies
through them to find real targets.  This allows imported targets to
depend on custom targets that provide the underlying files at build
time.
2010-12-08 12:22:13 -05:00
KWSys Robot 02a8ea2d5b KWSys Nightly Date Stamp 2010-12-08 00:10:03 -05:00
Ben Boeckel 8e8c9e4924 Don't check at destruction for usage 2010-12-07 16:38:37 -05:00
Ben Boeckel 668e005db5 Use cmake::IssueMessage for warnings 2010-12-07 16:38:25 -05:00
David Cole 35fd8d3abb Merge topic 'fix-typo-in-error-message'
a2a997d Correct misspelling in error message text.
2010-12-07 15:28:16 -05:00