Commit Graph

22595 Commits

Author SHA1 Message Date
Brad King 3c4071bec4 Merge topic 'fix-INTERFACE-with-no-SHARED-libs'
64f73b0 add_library: Fix INTERFACE on platforms with no shared libs (#14561)
2013-11-13 09:57:20 -05:00
Brad King 3822f5bcac Merge topic 'wix-custom-arguments'
096591b CPackWiX: Add variables for custom tool extensions and flags
2013-11-13 09:56:30 -05:00
Brad King 11fe43422f Merge topic 'cleanup-edit_cache-target'
684063c Refactor tool selection for edit_cache (#14544)
eaf5b7a cmGlobalGenerator: Do not propagate const through GetCMakeInstance
2013-11-13 09:55:17 -05:00
Brad King 3bade75b02 Help: Parse Copyright.txt instead of using current year
Configure our Sphinx conf.py with a copyright line extracted from
Copyright.txt instead of using the year in which the documentation is
built.  This will future-proof the reported copyright year range when
building documentation for old versions.
2013-11-13 09:18:57 -05:00
Kitware Robot 706aab0418 CMake Nightly Date Stamp 2013-11-13 00:01:08 -05:00
Brad King 2bbf6bd7f8 Copyright.txt: Add test to check year range
Add a CMake.Copyright test that, when the CMake version number knows the
year (as it does in development versions), checks that Copyright.txt has
been updated with the current version year.
2013-11-12 16:35:26 -05:00
Brad King 3ee67d0df9 Copyright.txt: Update year range to end in 2013 2013-11-12 16:35:26 -05:00
Brad King 621ba1fd04 cmake-gui: Parse Copyright.txt instead of duplicating notice
Set the cmake-gui MACOSX_BUNDLE_COPYRIGHT property by parsing the
copyright notice line out of Copyright.txt instead of duplicating it.
2013-11-12 16:35:17 -05:00
Brad King 993b685676 bootstrap: Parse Copyright.txt instead of duplicating notice
Use 'grep' to extract the copyright notice from Copyright.txt instead of
duplicating it in the bootstrap script.
2013-11-12 16:22:52 -05:00
Brad King 06b0dbe061 OS X: Drop version number from CMake.app bundle name (#11693)
Always name the application bundle "CMake.app".  Users can rename it
after installation if they wish.  This is the typical approach used by
OS X applications, including Xcode.  It allows CMake to be upgraded
without manually re-running CMake in every build tree to update the path
to CMake.  It also makes the executable location in the CMake build tree
more predicatable.
2013-11-12 15:47:06 -05:00
Brad King 84af42b989 Configure NSIS-packaged CMake version and install destination
Remove the version number from the default package install destination.
An unversioned default allows users to upgrade their CMake installations
without manually re-generating all their build trees to update the path
to CMake.  Users can select a versioned directory name on installation
if they wish.

Also name the package with the full CMake version number so it is clear
exactly what version is going to be installed.  This is particularly
helpful for the nightly binary installers.
2013-11-12 15:47:06 -05:00
Brad King 76550297b6 Configure NSIS-packaged CMake documentation link in Start Menu
Now that we use Sphinx to generate the documentation there is a single
entry point to link from the start menu.  Drop all the (now broken)
links to the individual html document pages and provide a single link to
the index.html "CMake Documentation" entry point.
2013-11-12 15:47:06 -05:00
Nils Gladitz 096591b96a CPackWiX: Add variables for custom tool extensions and flags 2013-11-12 14:10:01 -05:00
Brad King 49cbca6c2a CMP0038: Add missing '.' to policy summary line 2013-11-12 11:54:49 -05:00
Daniele E. Domenichelli 7390002964 CMP0039: Add missing '.' to policy summary line 2013-11-12 11:54:14 -05:00
Brad King f3883f366d ExternalData: Show example network path URL template
In the ExternalData_URL_TEMPLATES example, add an entry showing how to
use the "file://" protocol with a network filesystem path.
2013-11-12 11:26:28 -05:00
Brad King ff6818bc0a ExternalData: Format module documentation
Manually revise the .rst format of the documentation.  Use inline
literal quotes appropriately in paragraph text.  Move the :: literal
block openers to the end of the preceding paragraphs.  Convert the
command signature documentation and examples to cmake code-block
directives.
2013-11-12 11:22:07 -05:00
Sean McBride ed675a92a1 create_test_sourcelist: Fix linkage in generated test driver code
Mark private function/global with static linkage.
2013-11-12 09:27:11 -05:00
Stephen Kelly 64f73b0fb6 add_library: Fix INTERFACE on platforms with no shared libs (#14561) 2013-11-12 09:07:10 -05:00
Brad King 684063c036 Refactor tool selection for edit_cache (#14544)
Refactor edit_cache tool selection to ask each global generator for its
preference.  Teach the Ninja generator to always use cmake-gui because
Ninja by design cannot run interactive terminal dialogs like ccmake.
Teach the Makefile generator to use cmake-gui when also using an "extra"
generator whose IDE has no terminal to run ccmake, and otherwise fall
back to CMAKE_EDIT_COMMAND selection for normal Makefile build systems.
2013-11-12 08:47:19 -05:00
Brad King eaf5b7a776 cmGlobalGenerator: Do not propagate const through GetCMakeInstance
Combine the const and non-const GetCMakeInstance to a const one and
return a pointer to non-const cmake from it.
2013-11-12 08:43:33 -05:00
Brad King d3f7fa22ed Merge topic 'pp-transitive-property-handling'
77a0fd5 Genex: Use a preprocessor foreach to follow transitive properties.
1464933 Genex: Simplify the preprocessor looper for interface properties.
2013-11-12 08:32:13 -05:00
Brad King a4b9adec89 Merge topic 'constify'
dcac9be Make accessors for compile-related information const.
19a8a3c cmTarget: Don't finalize include directories in GetIncludeDirectories.
3305364 cmGlobalGenerator: Rename the FinalizeCompileDefinitions method.
2013-11-12 08:32:08 -05:00
Brad King a1e22f6917 Merge topic 'cmake-internal-locations'
d1526f8 Refactor internal resource location APIs and initialization
2013-11-12 08:31:56 -05:00
Brad King 298ef43329 Merge topic 'test-RunCMake.CMP0037-everywhere'
8c6c1f1 Enable RunCMake.CMP0037 test everywhere
2013-11-12 08:31:48 -05:00
Brad King cb4a4686ac Merge topic 'clear-generator-data'
00055ce cmExportSetMap: Override clear() to delete held resources
2013-11-12 08:31:39 -05:00
Brad King d1526f825e Refactor internal resource location APIs and initialization
Rename cmSystemTools::FindExecutableDirectory to FindCMakeResources.
Teach it to compute the locations of cmake, ctest, cpack, ccmake, and
cmake-gui executables, and the location of CMAKE_ROOT.  Provide this
information from static cmSystemTools::Get<resource>() methods.
Refactor code that needs these locations to use the new APIs.

Teach FindCMakeResources to use the OS X system API to lookup the
executable location.  When running from the CMake build tree itself,
leave a file in the tree that FindCMakeResources can use to read the
location of the source tree.  This avoids the need to compile the source
tree location into a binary that may be installed and used without the
source tree.

Teach the QtDialog on OS X to create a "cmake-gui" symlink in the build
tree next to "cmake" and the other tools, as is already done in the
install tree for the application bundle.  This ensures a consistent set
of executables are available in one directory.
2013-11-12 08:23:35 -05:00
Kitware Robot 4a762aa312 CMake Nightly Date Stamp 2013-11-12 00:01:07 -05:00
Brad King 8c6c1f16c9 Enable RunCMake.CMP0037 test everywhere
Split the test cases covering spaces and colons into separate units.
Run the space cases everywhere.  Disable the colon cases where they
are known to fail.  This approach increases platform coverage for the
test and makes the known-failure logic as local as possible.

No Makefile generator on Windows can generate targets with ':'
in their name because the CMakeFiles/<target>.dir directory cannot
be created.  Skip this part of the test on all Windows Make tools.
2013-11-11 07:27:02 -05:00
Kitware Robot 13da9f0024 CMake Nightly Date Stamp 2013-11-11 00:01:11 -05:00
Kitware Robot 6f2ec64504 CMake Nightly Date Stamp 2013-11-10 00:01:08 -05:00
Stephen Kelly 77a0fd5135 Genex: Use a preprocessor foreach to follow transitive properties. 2013-11-09 20:31:35 +01:00
Stephen Kelly 146493363e Genex: Simplify the preprocessor looper for interface properties.
By removing the INTERFACE_ prefix, we can use this in more contexts.
2013-11-09 20:31:35 +01:00
Stephen Kelly dcac9be6aa Make accessors for compile-related information const.
These can be moved to cmGeneratorTarget in CMake 4.0.
2013-11-09 20:30:46 +01:00
Kitware Robot 781467bf42 CMake Nightly Date Stamp 2013-11-09 00:01:10 -05:00
Brad King 110f244601 Merge topic 'test-LINK_ONLY-expression'
53b10fd Genex: Add a test for the LINK_ONLY expression.
2013-11-08 10:33:18 -05:00
Brad King 2053e0cd51 Merge topic 'tll-target-policies'
596b2a8 Disallow linking to utility targets (#13902).
301bb5c Disallow link-to-self (#13947).
05f5fde Disallow invalid target names (#13140)
2013-11-08 10:33:14 -05:00
Brad King 064e6d3272 Merge topic 'doc-cmake-language'
79fd233 Help: Reference cmake-language.7 comment docs from cmake-developer.7
a931ee4 Help: Add cmake-language.7 manual
2013-11-08 10:33:10 -05:00
Brad King 81d6a0055a Merge topic 'doc-execute_process'
3bb6266 Help: Clarify execute_process COMMAND argument behavior
ea6b656 Help: Format execute_process command documentation
2013-11-08 10:32:58 -05:00
Brad King 00055ce76d cmExportSetMap: Override clear() to delete held resources
Replace the std::map<>::clear() method with one that first deletes
the cmExportSet instances held by each map entry, and then clears.
Otherwise the cmGlobalGenerator::ClearGeneratorMembers added by
commit 5cf1120f (cmGlobalGenerator: Refactor member cleanup between
configures, 2013-11-04) leaks the cmExportSet instances.
2013-11-08 09:35:56 -05:00
Brad King 79fd233806 Help: Reference cmake-language.7 comment docs from cmake-developer.7
The cmake-language.7 manual now documents comment syntax.  Reference it
from cmake-developer.7 when discussing how to add comment-enclosed
documentation to modules.
2013-11-08 08:41:49 -05:00
Brad King a931ee4414 Help: Add cmake-language.7 manual 2013-11-08 08:41:46 -05:00
Kitware Robot 4d76bcc817 CMake Nightly Date Stamp 2013-11-08 00:01:19 -05:00
Brad King 3bb6266492 Help: Clarify execute_process COMMAND argument behavior
State in the execute_process how COMMAND arguments are passed to
the child.  Add a note at the end about how the command differs
from add_custom_*().

Suggested-by: Alan W. Irwin
2013-11-07 16:42:39 -05:00
Brad King ea6b656f0c Help: Format execute_process command documentation
Use a code-block for the signature.  Format the options as a definition
list.
2013-11-07 16:42:04 -05:00
Brad King 9fc158b6d5 Merge topic 'cfbundle-test-no-cl-tools'
a5aadcd CFBundle test: Add isysroot argument when calling Rez.
2013-11-07 09:09:15 -05:00
Stephen Kelly 19a8a3c4c8 cmTarget: Don't finalize include directories in GetIncludeDirectories.
Rely on that having been done by the cmGlobalGenerator.
2013-11-07 14:11:31 +01:00
Stephen Kelly 3305364f83 cmGlobalGenerator: Rename the FinalizeCompileDefinitions method.
This will soon also finalize include directories.
2013-11-07 14:11:30 +01:00
Stephen Kelly 596b2a8c08 Disallow linking to utility targets (#13902). 2013-11-07 11:06:40 +01:00
Stephen Kelly 301bb5cdda Disallow link-to-self (#13947). 2013-11-07 11:06:39 +01:00