12678 Commits

Author SHA1 Message Date
Brad King
01e979acef VS: Add CMakeLists.txt re-run rules at start of generation
Since commit 328c0f65 (Simplify cmVisualStudio10TargetGenerator source
classification, 2012-03-19) the VS 10 generator uses the
cmGeneratorTarget source classification instead of directly getting the
list of source files from the target.  This accidentally dropped the
CMakeLists.txt files from generated projects because they are added too
late for cmGeneratorTarget.

All generator-specific source files must be added to targets prior to
cmGeneratorTarget construction.  Refactor addition of the CMakeLists.txt
files with CMake re-run custom commands to take place before normal
generation begins, and therefore early enough to be included in the
cmGeneratorTarget classification.
2012-03-28 14:07:51 -04:00
Brad King
9a2c60eb83 Classify known header file extensions as headers
Commit 328c0f65 (Simplify cmVisualStudio10TargetGenerator source
classification, 2012-03-19) introduced the first use of source
classification from cmGeneratorTarget (which originated as Makefile
generator logic) in a Visual Studio generator for handling of header
files.  Fix classification of header files to match known header
extensions instead of only the HEADER_FILE_ONLY property.  Make it
consistent with the "Header Files" source group.
2012-03-28 08:59:14 -04:00
Brad King
1c489923d5 Always compile sources with known language
Refactoring by commit 11d9b211 (Add cmGeneratorTarget to represent a
target during generation, 2012-03-07) and commit 45c2f932 (Simplify
cmMakefileTargetGenerator using cmGeneratorTarget, 2012-03-07) preserved
behavior introduced by commit 7740ccd1 (some cleanup of the makefile
generator, 2006-02-14) that favored the IgnoreFile extension test over
the availability of a known compilation language associated with a
source file.  If a source is not marked as HEADER_FILE_ONLY and has a
known language extension or an explicit LANGUAGE property it should be
treated as that language.  The LANGUAGE source file property
documentation says so.
2012-03-28 08:58:38 -04:00
KWSys Robot
3eb3d5f306 KWSys Nightly Date Stamp 2012-03-28 00:05:06 -04:00
David Cole
a3b7caaf5f Merge topic 'AutomocProperCMakeEscaping_13018'
9b32475 automoc: add define to test which caused bug #13018
2066511 automoc: fix #13018, proper cmake escaping to avoid false rebuilds
c652812 make cmLocalGenerator::EscapeForCMake() static
2012-03-27 15:56:31 -04:00
David Cole
ef309e94cb Merge topic 'ninja-generator'
6b5614f Ninja: Substitute <OBJECT> and <CMAKE_C_COMPILER> in depfile flags
2012-03-27 15:56:13 -04:00
KWSys Robot
77ec098b44 KWSys Nightly Date Stamp 2012-03-27 00:05:07 -04:00
Alex Neundorf
2066511ca9 automoc: fix #13018, proper cmake escaping to avoid false rebuilds
The variables stored in the AutomocInfo.cmake file were not properly
escaped, so when reading them back they could turn into lists, if they
contained double quotes initially.
This patch fixes this by using cmLocalGenerator::EscapeForCMake() to
escape the variables properly.

Alex
2012-03-26 21:45:27 +02:00
Alex Neundorf
c652812af7 make cmLocalGenerator::EscapeForCMake() static
This way it can be used also if there is no cmLocalGenerator instance around

Alex
2012-03-26 21:45:07 +02:00
KWSys Robot
58db6ac299 KWSys Nightly Date Stamp 2012-03-26 00:05:06 -04:00
Peter Collingbourne
6b5614f164 Ninja: Substitute <OBJECT> and <CMAKE_C_COMPILER> in depfile flags
Patch by Amine Khaldi!

Also, start using the -MT flag to set a target name for depfiles.
This works around a bug observed in distcc, as explained in the
comment.  Based on a patch by Alexander Usov.
2012-03-26 04:46:12 +01:00
KWSys Robot
94c1dcffd6 KWSys Nightly Date Stamp 2012-03-25 00:05:13 -04:00
KWSys Robot
c160f63490 KWSys Nightly Date Stamp 2012-03-24 00:05:08 -04:00
KWSys Robot
e38e6bdbd3 KWSys Nightly Date Stamp 2012-03-23 00:05:05 -04:00
KWSys Robot
1df40fa188 KWSys Nightly Date Stamp 2012-03-22 00:05:05 -04:00
David Cole
a72893da36 Merge topic 'vs10-object-items'
b291d9e VS10: Fix external objects generated outside target (#13047)
328c0f6 Simplify cmVisualStudio10TargetGenerator source classification
2012-03-21 13:26:57 -04:00
David Cole
349ea3f6e6 Merge topic 'ImprovedCOMPONENTSSupportInFindPackage2'
6d100f9 find_package: Test rejection of required+optional components
d81d83c add macro check_required_components() to configure_package_config_file()
b15c0b4 FPHSA(): add HANDLE_COMPONENTS option
34108cd find_package: add documentation for OPTIONAL_COMPONENTS
cdabde8 FPHSA(): add missing "]" to documentation
f2e0a18 find_package: add OPTIONAL_COMPONENTS keyword
2012-03-21 13:26:46 -04:00
KWSys Robot
45b27021e5 KWSys Nightly Date Stamp 2012-03-21 00:05:05 -04:00
David Cole
d69c2c5825 Merge topic 'ninja-generator'
c337c7e Ninja: Fix <OBJECT_DIR> substitution
2012-03-20 09:34:56 -04:00
David Cole
31c0bc0219 Merge topic 'object-library'
93d5509 Merge branch 'ninja-object-library' into object-library
821037c Merge branch 'xcode-object-library' into object-library
eb24c99 Merge branch 'object-library' into xcode-object-library
63d1be8 Xcode: Honor $<TARGET_OBJECTS:...> source expressions
020ba38 Merge branch 'object-library' into xcode-object-library
e8ea615 Build object library targets in Xcode
8045e17 Pre-compute object file names before Xcode generation
247a132 Allow txt files as ExtraSources in object library targets
b063599 Add a default source group for object files.
be01f3b Xcode: Re-factor some existing methods into "FromPath" variants
2693dbe Merge branch 'object-library' into ninja-object-library
51997cb Ninja: Honor $<TARGET_OBJECTS:...> source expressions
23ec258 Merge branch 'object-library' into ninja-object-library
61124de Build object library targets in Ninja
f5b06cd Pre-compute object file names before Ninja generation
a2514f1 Simplify cmNinjaTargetGenerator using cmGeneratorTarget
...
2012-03-20 09:34:35 -04:00
David Cole
b06f7c077b Merge topic 'fix-docs-typos'
5b8983e Fix some typos in the docs comments.
2012-03-20 09:34:25 -04:00
Brad King
b291d9e756 VS10: Fix external objects generated outside target (#13047)
Commit 9a6ff950 (Fix for bug where VS2010 did not use .obj files,
2011-04-01) assumed that if an external object is GENERATED that it is
the output of a custom command in the current target.  If it is
generated by another target then VS will not automatically include the
external object in the current target.  This bug was preserved by the
refactoring in the parent commit.

Instead use <None> for external objects generated by a custom command in
the current target and <Object> for all other external objects.  Update
the ExternalOBJ test to cover this case.
2012-03-20 09:01:02 -04:00
KWSys Robot
f7533740e9 KWSys Nightly Date Stamp 2012-03-20 00:05:07 -04:00
Stephen Kelly
5b8983ee01 Fix some typos in the docs comments. 2012-03-19 23:05:21 +01:00
Brad King
328c0f65c2 Simplify cmVisualStudio10TargetGenerator source classification
Combine WriteCLSources and WriteObjSources into a single method.  Use
the cmGeneratorTarget source classification to simplify tool selection
for each source file.  Extend the classification to handle .idl files.
2012-03-19 17:13:41 -04:00
Brad King
f2b44c64fc Merge topic 'find_package_set_FOUND_VariableInConfigFile'
0cf8447 find_package: additional test for checking the error message
56ae3f9 find_package: add test for setting Foo_FOUND to FALSE in a Config file
16c0c73 find_package: allow <pkg>Config.cmake to set <pkg>_FOUND to FALSE
2012-03-19 14:42:03 -04:00
Brad King
0e339f7054 Merge topic 'CPack-fixCPACK_MONOLITHIC_INSTALL-handling'
805c1b2 Handle CPACK_MONOLITHIC_INSTALL in some rare use cases.
2012-03-19 14:42:00 -04:00
Brad King
1df15c68d5 Merge topic 'CPack-fixSTGZpermission-bug13046'
4576f40 CPack STGZ put execute permission on all packages files (component case)
2012-03-19 14:41:56 -04:00
Brad King
36a85b4cd5 Merge topic 'write-cache-atomically'
9eb8e4b Write CMakeCache.txt atomically (#13040)
2012-03-19 14:41:51 -04:00
Brad King
bfc8d137c5 Merge topic 'fix-12621-xcode43'
0f4dfa6 CPack: Use real path to PackageMaker to find its version file (#12621)
4693cf8 Xcode: Detect new default locations of Xcode 4.3 bits and pieces (#12621)
2012-03-19 14:41:43 -04:00
Brad King
93d5509b5b Merge branch 'ninja-object-library' into object-library
* ninja-object-library: (37 commits)
  Ninja: Honor $<TARGET_OBJECTS:...> source expressions
  Build object library targets in Ninja
  Pre-compute object file names before Ninja generation
  Simplify cmNinjaTargetGenerator using cmGeneratorTarget
  Ninja: Avoid using 'this' in member initializers
  Ninja: Fix for PDB files with spaces in the path.
  Ninja: Constify use of cmCustomCommand
  Ninja: add /DEF: flag to linker call
  Ninja: Add a cache option CMAKE_ENABLE_NINJA to enable the ninja generator.
  Ninja: Add friend struct so it can access the private ConvertToNinjaPath.
  Ninja: add .def file support
  Ninja: ensure the output dir exists at compile time
  Ninja: Remove an unnecessary variable
  Ninja: Use cmSystemTools::ExpandListArgument to split compile/link commands
  Ninja: Add a missed license header
  Ninja: CMake: Adapt Ninja generator for per-target include dirs
  Ninja: windows msvc: create for each target a .pdb file
  Ninja: Import library support for Windows
  Ninja: mark the Windows specific hacks with a comment only
  Ninja: disable unfinished Windows ninja support
  ...
2012-03-19 13:11:27 -04:00
Brad King
eb24c99c4d Merge branch 'object-library' into xcode-object-library 2012-03-19 11:53:41 -04:00
David Cole
63d1be8b00 Xcode: Honor $<TARGET_OBJECTS:...> source expressions
Add objects from object libraries referenced using this syntax to the
set of objects linked in a target.
2012-03-19 11:53:29 -04:00
Brad King
020ba38775 Merge branch 'object-library' into xcode-object-library 2012-03-19 11:53:24 -04:00
David Cole
e8ea615874 Build object library targets in Xcode
Treat OBJECT libraries as STATIC libraries. The Xcode project file
format provides no way to avoid running the libtool so hide the
resulting .a away next to the object files as it should never be
referenced.  The object files will be left behind for reference by other
targets later.
2012-03-19 11:53:04 -04:00
David Cole
8045e17119 Pre-compute object file names before Xcode generation 2012-03-19 11:52:40 -04:00
Alex Neundorf
34108cd3b3 find_package: add documentation for OPTIONAL_COMPONENTS
This patch adds documentation for OPTIONAL_COMPONENTS to cmFindPackage.cxx,
and also extends Modules/readme.txt significantly with regard to how
components should be handled.

Alex
2012-03-19 10:53:36 -04:00
Alex Neundorf
f2e0a18761 find_package: add OPTIONAL_COMPONENTS keyword
Add an OPTIONAL_COMPONENTS keyword to find_package() so we can have a
clear distinction between required and optional components.  Don't allow
a component to be both required and optional.

Alex
2012-03-19 10:53:36 -04:00
Peter Kuemmel
c337c7e205 Ninja: Fix <OBJECT_DIR> substitution
Don't forget the subdirectories.
2012-03-19 10:09:40 -04:00
Brad King
572994bd9f Merge topic 'ninja-generator'
8485208 Ninja: shell escape $(CMAKE_SOURCE_DIR) and $(CMAKE_BINARY_DIR)
df84767 Ninja: add support for OBJECT_OUTPUTS, fix PrecompiledHeader test case
48eb7fc Ninja: Avoid using 'this' in member initializers
bba37dd Ninja: Fix for PDB files with spaces in the path.
ac800f4 Ninja: Constify use of cmCustomCommand
9a0d5a8 Ninja: add /DEF: flag to linker call
d40eebd Ninja: Add a cache option CMAKE_ENABLE_NINJA to enable the ninja generator.
8c63433 Ninja: Add friend struct so it can access the private ConvertToNinjaPath.
dbe3dce Ninja: add .def file support
f1bb08f Ninja: ensure the output dir exists at compile time
7a6b5f4 Ninja: Remove an unnecessary variable
80ff210 Ninja: Use cmSystemTools::ExpandListArgument to split compile/link commands
d2731a3 Ninja: Add a missed license header
eabc9b0 Ninja: CMake: Adapt Ninja generator for per-target include dirs
bada88e Merge branch 'target-include-directories' into ninja-generator
54bd175 Ninja: windows msvc: create for each target a .pdb file
...
2012-03-19 09:29:06 -04:00
KWSys Robot
9987d9522b KWSys Nightly Date Stamp 2012-03-19 00:05:07 -04:00
Eric NOULARD
805c1b21d6 Handle CPACK_MONOLITHIC_INSTALL in some rare use cases.
For example, when CPACK_<GEN>_COMPONENT_INSTALL and
CPACK_MONOLITHIC_INSTALL are both set. Previously, this
combination of variable settings produced an error without
any explanation. Now, in this case CPACK_MONOLITHIC_INSTALL wins
without trouble.
This is useful for when e.g. CPACK_ARCHIVE_COMPONENT_INSTALL is
globally on and one wants MONOLITHIC install for STGZ (but not
other generators). The same behavior may be obtained by re-setting
CPACK_ARCHIVE_COMPONENT_INSTALL to 0 but in any case the
'both set' case should have been handled without error.
2012-03-18 20:21:35 +01:00
Eric NOULARD
4576f40ee0 CPack STGZ put execute permission on all packages files (component case) 2012-03-18 17:52:56 +01:00
KWSys Robot
1bfe81e01e KWSys Nightly Date Stamp 2012-03-18 00:05:05 -04:00
Peter Collingbourne
848520859a Ninja: shell escape $(CMAKE_SOURCE_DIR) and $(CMAKE_BINARY_DIR) 2012-03-17 23:16:40 +00:00
Peter Collingbourne
df847671b4 Ninja: add support for OBJECT_OUTPUTS, fix PrecompiledHeader test case 2012-03-17 23:16:40 +00:00
KWSys Robot
6330f67a25 KWSys Nightly Date Stamp 2012-03-17 00:05:07 -04:00
David Cole
247a132422 Allow txt files as ExtraSources in object library targets
Necessary for the Xcode generator, in which the CMakeLists.txt
files are added as sources merely for convenient access, without
any associated custom command.
2012-03-16 14:25:22 -04:00
David Cole
b063599603 Add a default source group for object files. 2012-03-16 14:25:21 -04:00
David Cole
be01f3b098 Xcode: Re-factor some existing methods into "FromPath" variants
...to avoid depending on cmSourceFile instances. Prep work for supporting
OBJECT_LIBRARY in the Xcode generator.
2012-03-16 14:23:13 -04:00