summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Pre-compute object file names before Xcode generationDavid Cole2012-03-192-0/+51
|
* Allow txt files as ExtraSources in object library targetsDavid Cole2012-03-161-1/+4
| | | | | | Necessary for the Xcode generator, in which the CMakeLists.txt files are added as sources merely for convenient access, without any associated custom command.
* Add a default source group for object files.David Cole2012-03-161-0/+1
|
* Xcode: Re-factor some existing methods into "FromPath" variantsDavid Cole2012-03-162-48/+116
| | | | | ...to avoid depending on cmSourceFile instances. Prep work for supporting OBJECT_LIBRARY in the Xcode generator.
* Xcode: Re-factor code into GetObjectsNormalDirectory methodDavid Cole2012-03-162-9/+27
| | | | | ...in preparation for calling it from more than one location. Required to support OBJECT_LIBRARY targets in Xcode.
* Build object library targets in VSBrad King2012-03-133-21/+76
| | | | | | | | Treat OBJECT libraries as STATIC libraries. The VS project file format provides no way to avoid running the librarian so hide the resulting .lib 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.
* Build object library targets in MakefilesBrad King2012-03-136-11/+55
| | | | | | Treat OBJECT libraries as STATIC libraries but leave out the archive step. The object files will be left behind for reference by other targets later.
* Add OBJECT_LIBRARY target typeBrad King2012-03-1312-4/+104
| | | | | | | | | | | | | | | | | | | | | | | | This library type can compile sources to object files but does not link or archive them. It will be useful to reference from executable and normal library targets for direct inclusion of object files in them. Diagnose and reject the following as errors: * An OBJECT library may not be referenced in target_link_libraries. * An OBJECT library may contain only compiling sources and supporting headers and custom commands. Other source types that are not normally ignored are not allowed. * An OBJECT library may not have PRE_BUILD, PRE_LINK, or POST_BUILD commands. * An OBJECT library may not be installed, exported, or imported. Some of these cases may be supported in the future but are not for now. Teach the VS generator that OBJECT_LIBRARY targets are "linkable" just like STATIC_LIBRARY targets for the LinkLibraryDependencies behavior.
* Merge branch 'test-RunCMake' into object-libraryBrad King2012-03-1246-133/+111
|\
| * Use generalized RunCMake test infrastrucure for build_command testBrad King2012-03-1213-100/+27
| | | | | | | | | | | | | | The CMakeCommands.build_command test performs output/error checking so move it over to RunCMake to re-use the generalized infrastrucure. This is the only test left using Tests/CMakeCommands/CMakeLists.txt so remove it.
| * Use generalized RunCMake test infrastrucure for find_package testBrad King2012-03-1234-84/+19
| |
| * Add stronger infrastructure for CMake-only testsBrad King2012-03-124-4/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The CMakeOnly directory added by commit 9a20abf0 (Add infrastructure for CMake-only tests, 2012-01-11) was sufficient only for tests that always run CMake to successfully configure a project. Later commit eeaaffcb (find_package: Test error and warning messages in failure cases, 2012-02-28) added a sample test that covers failure cases. Generalize the above to create new "RunCMake" test infrastructure that can run CMake multiple times for a single project with different variations and check for expected result/stdout/stderr. Allow for both successful and failing CMake project configuration cases. This will be useful to test error messages and failure behavior.
* | Pre-compute and store target object directory in cmGeneratorTargetBrad King2012-03-123-0/+22
| | | | | | | | | | | | | | Add cmGeneratorTarget::ObjectDirectory member to hold the value. In ComputeTargetObjects set the value to the full path to the target object directory including any necessary placeholder for the configuration name.
* | Rename/constify build-time config placeholder lookupBrad King2012-03-098-9/+9
| | | | | | | | | | | | Rename cmGlobalGenerator::GetCMakeCFG{InitDirectory => IntDir} to have a shorter name without a typo. Add a 'const' qualifier since the method is only for lookup and never needs to modify anything.
* | Remove unused cmSourceGroup methodBrad King2012-03-092-7/+0
| | | | | | | | The non-const GetSourceFiles method is not needed.
* | Pre-compute object file names before VS project generationBrad King2012-03-0910-136/+104
| | | | | | | | | | | | Implement cmGlobalGenerator::ComputeTargetObjects in the VS generator to pre-compute all the object file names. Use the results during generation instead of re-computing it later.
* | Pre-compute object file names before Makefile generationBrad King2012-03-098-55/+50
| | | | | | | | | | | | | | Add a virtual cmGlobalGenerator::ComputeTargetObjects method invoked during cmGeneratorTarget construction. Implement it in the Makefile generator to pre-compute all object file names for each target. Use the results during generation instead of re-computing it later.
* | Simplify cmVisualStudio10TargetGenerator using cmGeneratorTargetBrad King2012-03-092-29/+12
| | | | | | | | | | Use CustomCommands and ModuleDefinitionFile computed in the latter instead of recomputing them from the original target source files.
* | Simplify cmMakefileTargetGenerator using cmGeneratorTargetBrad King2012-03-092-53/+42
| | | | | | | | | | Replace the classification of source files in this generator using that computed by cmGeneratorTarget.
* | Create a cmGeneratorTarget for each cmTarget during generationBrad King2012-03-092-0/+57
| | | | | | | | | | | | | | Construct the instances after the final set of targets is known but before computing inter-target dependencies. This order will allow initialization of cmGeneratorTarget instances to adjust and finalize declared inter-target dependencies.
* | Add cmGeneratorTarget to represent a target during generationBrad King2012-03-094-0/+127
| | | | | | | | | | | | | | | | | | Some per-target information and logic is common to all generators. Some of that information is currently stored in cmTarget but that should be reserved for the configure step. Create a class to hold per-target information for generators. On construction classify sources from the target and store them in separate members. This classification is already implemented separately in each generator.
* | Merge branch 'cleanup-object-file-names' into object-libraryBrad King2012-03-0918-279/+73
|\ \ | |/ |/|
| * Hide Makefile local object info inside local generatorBrad King2012-03-083-31/+39
| | | | | | | | | | Make cmLocalUnixMakefileGenerator3::LocalObjectInfo private and add cmLocalUnixMakefileGenerator3::AddLocalObjectFile to create entries.
| * VS: Simplify object name computationBrad King2012-03-065-71/+34
| | | | | | | | | | | | | | | | Simplify cmLocalVisualStudioGenerator::ComputeObjectNameRequirements to loop over the original vector of source files instead of recursively traversing source groups just to find the same files. Drop from cmVisualStudio10TargetGenerator::ComputeObjectNames temporary source group calculation now that it is not needed for computing object names.
| * Remove unused partial OBJECT_FILES property implementationBrad King2012-03-0614-177/+0
| | | | | | | | | | | | | | Remove partial implementation added by commit ca0230a3 (check in initial conv library stuff, 2007-02-16) since it was never finished. It does not make sense for multi-configuration generators since no specific build configuration is processed at CMake time.
* | KWSys Nightly Date StampKWSys Robot2012-03-091-1/+1
| |
* | Merge topic 'qt4-deploy'David Cole2012-03-081-0/+6
|\ \ | | | | | | | | | | | | 2c601c1 DeployQt4: Add path to Qt dlls on Windows.
| * | DeployQt4: Add path to Qt dlls on Windows.Clinton Stimpson2012-03-071-0/+6
| | |
* | | Merge topic 'find_package_fatal_error_if_required_and_config_not_found'David Cole2012-03-0813-3/+30
|\ \ \ | | | | | | | | | | | | | | | | | | | | c5ae733 find_package: Test that REQUIRED aborts processing correctly c91a54d find_package: error out if REQUIRED Config has not been found
| * | | find_package: Test that REQUIRED aborts processing correctlyBrad King2012-03-0712-3/+26
| | | | | | | | | | | | | | | | | | | | Verify that the command produces a FATAL_ERROR if and only if the missing package is REQUIRED.
| * | | find_package: error out if REQUIRED Config has not been foundAlex Neundorf2012-03-061-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If in Config mode a configuration file could not be found, cmake printed an error, but did not actually stop processing. With SetFatalErrorOccured it does. Alex
* | | | Merge topic 'MakingConfigFilesEasier_ConfigureMacro'David Cole2012-03-085-32/+228
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | 6973e2d wrap write_basic_config_version_file as write_basic_package_version_file() 204f5d4 add CMakePackageConfigHelpers: configure_package_config_file()
| * | | | wrap write_basic_config_version_file as write_basic_package_version_file()Alex Neundorf2012-03-074-35/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So the name fits better with configure_package_config_file(), as discussed on the mailing list. Adapt the documentation accordingly. Alex
| * | | | add CMakePackageConfigHelpers: configure_package_config_file()Alex Neundorf2012-03-073-0/+187
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function configure_package_config_file() may be used instead of configure_file() for generating the Config.cmake files for installation, they help to make those files relocatable. Alex
* | | | | Merge topic 'fix-12189-support-SBCS-in-VS'David Cole2012-03-088-3/+61
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b28e7fa VS6: Avoid SBCS test on VS6 (#12189) df19b9c VS6: Avoid _MBCS define when _SBCS is defined (#12189) ba89e92 Visual Studio: Allow setting Single Byte Character Set (#12189)
| * | | | | VS6: Avoid SBCS test on VS6 (#12189)David Cole2012-03-061-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous commit, df19b9ca, assumed that the corresponding _UNICODE functionality in the VS6 generator actually worked. That turns out not to be the case. Unicode definition does not actually suppress _MBCS definition, so neither does this new code... Don't test it here, since the patch submitter for _SBCS does not need VS6 support. If somebody needs _UNICODE and _SBCS support to suppress the definition of _MBCS in the VS6 generator, it is work yet to do. Patches welcome.
| * | | | | VS6: Avoid _MBCS define when _SBCS is defined (#12189)David Cole2012-02-211-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | Should fix the failing SBCS test on the VS6 dashboard.
| * | | | | Visual Studio: Allow setting Single Byte Character Set (#12189)Aaron C. Meadows2012-02-177-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For Visual Studio using the Preprocessor Define _SBCS. This behavior is similar to the way that _UNICODE and _MBCS work already. Added tests to confirm this behavior.
* | | | | | Merge topic 'CPackNSIS-addMissingDoc'David Cole2012-03-082-10/+23
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | d4719a8 Add some missing CPACK_NSIS_xxx doc and move some to common CPack section.
| * | | | | | Add some missing CPACK_NSIS_xxx doc and move some to common CPack section.Eric NOULARD2012-03-062-10/+23
| | | | | | |
* | | | | | | Merge topic 'fixCPackDocTypo'David Cole2012-03-081-4/+4
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b0cb29b Fix some typos in CPACK_SET_DESTDIR doc
| * | | | | | | Fix some typos in CPACK_SET_DESTDIR docEric NOULARD2012-03-061-4/+4
| | |_|_|/ / / | |/| | | | |
* | | | | | | Merge topic 'fix-cygwin-hint-file'David Cole2012-03-081-4/+4
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 208c3f8 Use correct "requires" line in cygwin setup hint file 1b996e7 Remove trailing white space
| * | | | | | | Use correct "requires" line in cygwin setup hint fileDavid Cole2012-03-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reference: email thread between Bill Hoffman and Yaakov Selkowitz from Mar. 5, 2012.
| * | | | | | | Remove trailing white spaceDavid Cole2012-03-061-3/+3
| |/ / / / / /
* | | | | | | Merge topic 'target-include-directories'David Cole2012-03-0823-245/+397
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d662dff Fix shadowed variable warning on dashboard results f66e735 Fix compiler warning reported on older Borland dashboard. d90eed4 Fix compiler error reported on older Borland dashboard. 8233636 Update the documentation regarding INCLUDE_DIRECTORIES. d899eb7 Call ExpandVariablesInString for each target's INCLUDE_DIRECTORIES c21db87 Make search paths ordered and unique 22021f0 Remove cmMakefile::GetIncludeDirectories 9106b56 Extract and use the INCLUDE_DIRECTORIES target properties. 840509b Keep the INCLUDE_DIRECTORIES target property up to date. a4d5f7b Add API to get the ordered includes for a target. 8adaee2 CMake: Eliminate cmMakefile::IncludeDirectories 7620932 Remove include flags memoization. 97a5faa Make it safe to call this method without creating duplicates. edd5303 Refactor GetIncludeFlags to take includes instead of fetching them
| * | | | | | | Fix shadowed variable warning on dashboard resultsDavid Cole2012-02-231-1/+1
| | | | | | | |
| * | | | | | | Fix compiler warning reported on older Borland dashboard.David Cole2012-02-221-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid assignment inside the if.
| * | | | | | | Fix compiler error reported on older Borland dashboard.David Cole2012-02-221-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Declare variable only once at a scope appropriate for both uses.
| * | | | | | | Update the documentation regarding INCLUDE_DIRECTORIES.David Cole2012-02-223-10/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is now a target property and is affected by the use of the include_directories command.