Commit Graph

58 Commits

Author SHA1 Message Date
Brad King 96afb12087 Convert CMake to OSI-approved BSD License
This converts the CMake license to a pure 3-clause OSI-approved BSD
License.  We drop the previous license clause requiring modified
versions to be plainly marked.  We also update the CMake copyright to
cover the full development time range.
2009-09-28 11:43:28 -04:00
Brad King f74b876a58 ENH: Clarify COMPILE_DEFINITIONS separator in docs
The COMPILE_DEFINITIONS properties are semicolon-separated lists.
Make this clear in the documentation.  See issue #9199.
2009-06-24 09:36:29 -04:00
Brad King 4085454658 ENH: Support preprocessor def values in VS6
The add_definitions() command and COMPILE_DEFINITIONS dir/tgt/src
properties support preprocessor definitions with values.  Previously
values were not supported in the VS6 generator even though the native
tool supports them.  It is only values with spaces that VS6 does not
support.  This enables support and instead complains only for values
with spaces.  See issue #8779.
2009-03-23 14:48:09 -04:00
Brad King 921f3a1ac2 BUG: Do not automatically set HEADER_FILE_ONLY
Long ago the native build system generators needed HEADER_FILE_ONLY to
be set on header files to stop them from building.  The modern
generators correctly handle headers without the help of this property.
This removes automatic setting of the property so that it can be used
reliably as an indicator of project author intention.  It fixes VS IDE
project files to show header files normally instead of excluded (broken
by the fix for issue #7845).
2009-03-16 14:30:24 -04:00
Brad King 13f9bb646d ENH: Define target and source property LABELS
This creates a new LABELS property for targets and source files.  We
write the labels of each target and its source files in target-specific
locations in the build tree for future use.
2009-02-10 08:50:21 -05:00
Brad King 85961d44c3 ENH: Improve docs of OBJECT_DEPENDS property
Specify exactly what the value of the property should contain and the
resulting behavior.  Note alternatives for a common out-dated usage.
2008-09-22 09:42:27 -04:00
Brad King 73d5fd31ab ENH: Catch missing source files specified by full path earlier.
- Revert previous change to trust user-provided full paths.
  - Instead trust them only far enough to determine the source language
    but still check for existence for non-generated sources.
2008-05-27 13:10:09 -04:00
Brad King 3344ce9197 ENH: In cmSourceFile::GetLanguage use the file extension (if not ambiguous) to determine the language without requiring the source file to exist. 2008-04-29 14:17:42 -04:00
Brad King 19aafdb355 ENH: Add context information when a source file cannot be found. 2008-04-29 14:17:35 -04:00
Brad King b69cfaf412 BUG: Trust user-provided source file full paths. 2008-04-25 15:30:58 -04:00
Ken Martin 16f1cc9b59 ENH: support unset of properties 2008-04-01 14:22:09 -04:00
Brad King 9ed4266306 ENH: Cleanup impl of PUBLIC_HEADER, PRIVATE_HEADER, and RESOURCE properties 2008-02-18 16:38:34 -05:00
Brad King ed76198b84 ENH: Cleanup building of OS X bundle content
- Fixes repeated rebuild of bundles by Makefile generators
 - Add special rules to copy sources to their
   MACOSX_PACKAGE_LOCATION bundle directory
 - Remove MacOSX_Content language hack
   - Remove EXTRA_CONTENT property
   - Remove MACOSX_CONTENT
   - Remove corresponding special cases in object names
2008-02-15 11:22:23 -05:00
Brad King d5db5a275a BUG: Add cmSourceFile::GetPropertyForUser to centralize the LOCATION property hack. This fixes the LOCATION property when retrieved via the get_property command. 2008-01-30 11:21:54 -05:00
Brad King caca9b8065 ENH: Add AppendProperty methods for use by C++ code in CMake. Simplify implementation of SET_PROPERTY command by using them. 2008-01-17 18:13:55 -05:00
Brad King 80c2be45e0 ENH: Renamed <CONFIG>_COMPILE_DEFINITIONS to COMPILE_DEFINITIONS_<CONFIG> for better documentation clarity. 2008-01-15 21:02:00 -05:00
Brad King da335fbd00 ENH: Add explicit documentation entry for configuration-specific <CONFIG>_COMPILE_DEFINITIONS. 2008-01-15 10:49:22 -05:00
Brad King 8262ccfd4e ENH: Create COMPILE_DEFINITIONS property for targets and source files. Create <config>_COMPILE_DEFINITIONS property as per-configuration version. Add Preprocess test to test the feature. Document limitations on Xcode and VS6 generators. 2008-01-14 09:20:58 -05:00
Amitha Perera 4d9259c15b STYLE: Spelling fixes on documentation 2008-01-09 22:09:19 -05:00
Brad King 99d57b3c8c ENH: Added cmSourceFile::GetLocation method to get a read-only reference to the Location ivar. This partially addresses issue #6137. 2007-12-17 10:12:19 -05:00
Brad King 37e8c11827 BUG: Do not force HEADER_FILE_ONLY off if the user has already set it on. 2007-11-19 14:27:31 -05:00
Brad King 9f542f4ef7 ENH: Added OBJECT_OUTPUTS source file property. Updated PrecompiledHeader test to use it (making the test simpler). 2007-09-13 13:37:45 -04:00
Brad King 35936433e1 ENH: Merging changes from branch CMake-SourceFile2-b between tags
CMake-SourceFile2-bp and CMake-SourceFile2-b-mp1 to trunk.  This
commit is surrounded by tags CMake-SourceFile2-b-mp1-pre and
CMake-SourceFile2-b-mp1-post on the trunk.

The changes re-implement cmSourceFile and the use of it to allow
instances to be created much earlier.  The use of cmSourceFileLocation
allows locating a source file referenced by a user to be much simpler
and more robust.  The two SetName methods are no longer needed so some
duplicate code has been removed.  The strange "SourceName" stuff is
gone.  Code that created cmSourceFile instances on the stack and then
sent them to cmMakefile::AddSource has been simplified and converted
to getting cmSourceFile instances from cmMakefile.  The CPluginAPI has
preserved the old API through a compatibility interface.

Source lists are gone.  Targets now get real instances of cmSourceFile
right away instead of storing a list of strings until the final pass.

TraceVSDependencies has been re-written to avoid the use of
SourceName.  It is now called TraceDependencies since it is not just
for VS.  It is now implemented with a helper object which makes the
code simpler.
2007-06-18 11:59:23 -04:00
Ken Martin 5d11564c35 ENH: allow source file properties to chain to Directories and up 2006-12-13 12:19:59 -05:00
Ken Martin 27379d7b08 ENH: make properties a bit more formal with documentation and chaining 2006-12-07 09:45:32 -05:00
Ken Martin daa37f1163 STYLE: fix line length 2006-05-12 13:53:21 -04:00
Brad King 323dc3a89a ENH: Added information about target needing a source file when one cannot be found. 2006-05-05 11:46:20 -04:00
Ken Martin 10efe3b079 ENH: added some new functionality 2006-03-22 14:06:52 -05:00
Ken Martin 3d96e52261 STYLE: some m_ to this-> cleanup 2006-03-15 11:02:08 -05:00
Bill Hoffman 89e5fc63fe STYLE: fix line lengths 2006-03-10 13:54:57 -05:00
Brad King 70b4e1051e BUG: Fixed support for external object files built by custom commands. Also added a test to keep it working. 2005-11-17 13:49:10 -05:00
Ken Martin ea38258eb3 BUG: mor emissing convert to unix slashes 2005-07-07 13:55:45 -04:00
Brad King 0ef2334a5f BUG: Do not leave ../ in the full path to a source file. Using CollapseFullPath simplifies the code anyway. 2005-04-27 11:33:22 -04:00
Andy Cedilnik 826405a1b6 ENH: Speedup by storing source name without last extension 2005-04-13 16:35:26 -04:00
Brad King ffb2c0c0e5 BUG: cmSourceFile instances should delete their own custom commands when a new one is set. 2005-02-18 16:19:09 -05:00
Andy Cedilnik 482eef7112 BUG: Fix aus source dir and add better testing of it 2004-04-27 09:22:57 -04:00
Andy Cedilnik d6090a2395 ENH: When source file is in subdirectory put object file in subdirectory. Fixes Bug #290 - Source files in subdirectories should produce object files in subdirectories 2004-04-26 17:32:56 -04:00
Andy Cedilnik af61b68583 ENH: Add support for adding object files and sources. This way you can use external program such as assembler or fortran to generate object files. Also star of fixing: Bug #757 - add .o file as a source file 2004-04-18 13:16:34 -04:00
Ken Martin cc8aa74ec4 removed duplicate includes 2003-08-10 16:02:25 -04:00
Bill Hoffman f58d7df66a ENH: add checking for NOTFOUND 2003-01-31 13:50:42 -05:00
Brad King 1f6a3c67b1 ENH: Added reference to Copyright.txt. Removed old reference to ITK copyright. Changed program name to CMake instead of Insight in source file header. Also removed tabs. 2002-10-23 18:03:27 -04:00
Andy Cedilnik 5897d078c6 Fix bug in trying to set stding with null 2002-08-27 14:45:25 -04:00
Ken Martin 7b5a8762c6 modified how source files store properties 2002-08-16 11:20:18 -04:00
Ken Martin 089bea359e modified create test source to create a vector 2002-06-19 13:28:39 -04:00
Ken Martin 38145ad5a4 modified create test source to create a vector 2002-06-19 12:52:16 -04:00
Bill Hoffman 8b3b49a010 ENH: major change, the cmMakefile now contains a master list of cmSourceFile objects, the source lists reference the list via pointers, also you can now set properties on a file, like compile flags, abstract, etc. 2002-03-29 10:06:30 -05:00
Will Schroeder a6a43d5320 ENH:Updated copyright 2002-01-21 15:30:43 -05:00
Bill Hoffman 252f9fc1b1 BUG: fix generated files with no extension bug 2002-01-21 10:11:47 -05:00
Amitha Perera 4ec2836634 ENH: Classify a file as source or header even when the extension is given
explicitly.
2001-12-28 15:54:05 -05:00
Bill Hoffman 7d907c8d59 ENH: clean up error report for source files not found 2001-10-15 18:36:46 -04:00