Commit Graph

56 Commits

Author SHA1 Message Date
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
Amitha Perera
e169953e92 ENH: Source and header file extensions are in variables in cmMakefile.
AUX_SOURCE_DIRECTORY will only add files that have a "source" extension.
2001-07-16 18:40:42 -04:00
Bill Hoffman
556d27c9eb ENH: add support for mac osx 2001-07-16 10:14:41 -04:00