summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* GenEx: Fix reporting about not-found include directories and libraries.Stephen Kelly2012-10-1710-10/+110
| | | | | | This fixes a regression introduced in commit 290e92ad (Move GetIncludeDirectories to cmGeneratorTarget, 2012-09-16) which loops over cmGeneratorTargets before they get created, so the container is empty.
* GenEx: Replace some failing tests with Borland and NMake makefiles.Stephen Kelly2012-10-172-6/+4
| | | | | The '<<' is a special sequence on those platforms, so it can't appear in the test.
* GenEx: Add some more asserts to verify code-sanity.Stephen Kelly2012-10-171-0/+12
|
* GenEx: Break if there are no more commas in the containerStephen Kelly2012-10-171-0/+4
| | | | | This was causing an assert on Windows which has safety features for iterating past the end of the container.
* GenEx: Fix termination bugs in generator expression parser.Stephen Kelly2012-10-173-13/+68
| | | | | | | Content which is incomplete as a generator expression could cause segfaults by advancing an iterator beyond end() and dereferencing it. Such incomplete generator expressions should be treated as plain text instead.
* GenEx: Test the use of generator expressions to generate lists.Stephen Kelly2012-10-174-0/+16
| | | | | | We can't test this in the GeneratorExpression unit test because the ';' chars are processed specically by the CMake function argument parser.
* GenEx: Parse colon after arguments separator colon specially.Stephen Kelly2012-10-173-2/+19
| | | | | | The rationale is similar to that in commit b3d8f5da (GenEx: Parse comma after colon tokens specially, 2012-10-04), in that colon tokens should not be parsed as identifier-argument delimiters after the first colon.
* GenEx: Don't use std::vector::at(int).Stephen Kelly2012-10-091-3/+3
| | | | It might not exist with GCC 2.9.
* GenEx: Add tests for "0" and "1" expressions with literal commas.Stephen Kelly2012-10-092-0/+4
|
* GenEx: Add test for $<BOOL:> with empty parameter.Stephen Kelly2012-10-092-0/+2
|
* GenEx: Ensure that the empty CONFIGURATION can be used conditionally.Stephen Kelly2012-10-091-5/+5
| | | | | The CONFIGURATION can not be manipulated at unit testing time, so this is not unit tested further.
* GenEx: Validate target and property names.Stephen Kelly2012-10-0926-1/+171
| | | | They must be non-empty, and match a restrictive regexp.
* GenEx: Parse comma after colon tokens speciallyStephen Kelly2012-10-098-2/+58
| | | | | | | | | | | | | | | Otherwise the comma is treated as plain text by ParseContent. $<STREQUAL:,> should be valid and true. $<STREQUAL:,something> should be valid and false. $<STREQUAL:,,> should be non-valid as it is 3 parameters. $<STREQUAL:something,,> should be non-valid as it is 3 parameters. Additionally, this allows reporting the correct error for other expressions. For example $<TARGET_PROPERTY:,> should be invalid because it has an empty target and empty property. It shouldn't attempt to read the property ',' on the 'implicit this' target.
* GenEx: Report actual target name not found, not "0" each time.Stephen Kelly2012-10-095-2/+18
|
* GenEx: Return after error reported.Stephen Kelly2012-10-091-0/+1
|
* GenEx: It is not an error to specify an empty parameterStephen Kelly2012-10-091-4/+0
| | | | This is allowed by the CONFIG and STREQUAL expressions.
* Merge topic 'ninja-LIBPATH'Brad King2012-10-029-40/+85
|\ | | | | | | | | | | | | 1e47ccb Ninja: add option to enforce usage of response files e31df03 Ninja: move <OBJECTS> in front of the first linker option 8d674e7 Ninja: move -LIBPATH behind -link option
| * Ninja: add option to enforce usage of response filesPeter Kümmel2012-10-011-4/+4
| | | | | | | | | | If the cmake or environment variable CMAKE_NINJA_FORCE_RESPONSE_FILE is set then a response file is used regardless the command line length.
| * Ninja: move <OBJECTS> in front of the first linker optionPeter Kümmel2012-10-014-14/+31
| | | | | | | | | | | | In the response file also linker options could be passed, and because <OBJECTS> is replaced by a response file, it is necessary that no compiler option follows <OBJECTS>.
| * Ninja: move -LIBPATH behind -link optionPeter Kümmel2012-10-016-27/+55
| | | | | | | | Don' pass linker option to the compile
* | Merge topic 'ninja-link-rsp-expand'Brad King2012-10-027-33/+30
|\ \ | |/ | | | | | | | | dbd99d6 Revert "Ninja: don't expand any rsp files" f1670ab Ninja: don't confuse ninja's rsp files with nmake's
| * Revert "Ninja: don't expand any rsp files"Bill Hoffman2012-10-014-28/+13
| | | | | | | | | | | | | | | | | | This reverts commit 5598d9b2a06d4ec788b5e058435bb3bba99fd517. Since commit f1670ab1 (Ninja: don't confuse ninja's rsp files with nmake's, 2012-09-26) Ninja generator response files are placed in CMakeFiles/ so the previously existing check already avoids expanding them.
| * Ninja: don't confuse ninja's rsp files with nmake'sPeter Kümmel2012-09-283-5/+17
| | | | | | | | Move response files into CMakeFiles/ which makes them different to nmake's.
* | Merge topic 'FindCURL-libcurl'Brad King2012-10-021-1/+3
|\ \ | | | | | | | | | | | | 708b53e FindCURL: Find older MSVC prebuilts
| * | FindCURL: Find older MSVC prebuiltsAndreas Mohr2012-10-011-1/+3
| | | | | | | | | | | | Older Windows MSVC CURL prebuilts have the .lib named as "libcurl.lib".
* | | CMake Nightly Date StampKitware Robot2012-10-021-1/+1
| | |
* | | Merge topic 'documentation-cleanup'Brad King2012-10-017-16/+26
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4ad0233 Remove period at the end of the check message. 50b1ea5 Fix minor typos. 19c3206 Remove unused parameter marker and the unused parameter. 9d462b2 Document that generator expressions can be used in target properties. daf88c3 Fix punctuation in some variables documentation. 3172cde Fix the layout of the generator expression documentation.
| * | | Remove period at the end of the check message.Stephen Kelly2012-09-292-2/+2
| | | | | | | | | | | | | | | | Other messages don't have one.
| * | | Fix minor typos.Stephen Kelly2012-09-293-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | nothe -> note than -> that duplicat -> duplicate directory -> directly Wipe wipe -> Wipe
| * | | Remove unused parameter marker and the unused parameter.Stephen Kelly2012-09-291-2/+1
| | | |
| * | | Document that generator expressions can be used in target properties.Stephen Kelly2012-09-291-2/+9
| | | |
| * | | Fix punctuation in some variables documentation.Stephen Kelly2012-09-291-2/+4
| | | |
| * | | Fix the layout of the generator expression documentation.Stephen Kelly2012-09-291-3/+5
| | | |
* | | | Merge topic 'export-sets'Brad King2012-10-0125-182/+480
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 80112da Merge topic 'AutomocUseTargetProperties' into export-sets 955b966 exports: add a test for exporting dependent targets 6f50a04 exports: define a CMAKE_FIND_PACKAGE_NAME var set by find_package() 0cfd055 exports: move the handling of missing targets into subclasses 190f2c8 exports: fix build with MSVC6 8b5f448 exports: first try at error handling if a target is missing 87f4c01 exports: accept a missing target if it is exported exactly once 999061a exports: store pointers to all installations of each export set 64b3a6c exports: cmGlobalGenerator::ExportSets destructor will clear it 81cdab5 exports: Hold an ExportSet pointer in cm*Export*Generator 5c898fb exports: Add cmExportSetMap class d13ec1a exports: Create class cmExportSet 4e2347c exports: Rename cmGlobalGenerator::AddTargetToExport{s,} e846e70 exports: Remove cmTargetExport constructor 81c66c8 exports: Move cmTargetExport to a dedicated header file ae4ab62 find_package: add support for a <package>_NOT_FOUND_MESSAGE variable ...
| * \ \ \ Merge topic 'AutomocUseTargetProperties' into export-setsAlex Neundorf2012-09-3069-925/+2183
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: Source/cmGlobalGenerator.h
| * | | | | exports: add a test for exporting dependent targetsAlex Neundorf2012-09-304-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test exports two libraries into two separate exports, and then include()s the generated export files. This must not fail. Alex
| * | | | | exports: define a CMAKE_FIND_PACKAGE_NAME var set by find_package()Alex Neundorf2012-09-302-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This way the name of the searched package can be accessed in find-modules, config-files and more importantly in generated target export files. This is now used when a target export file detects that a required target does not exist. Alex
| * | | | | exports: move the handling of missing targets into subclassesAlex Neundorf2012-09-306-98/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before, cmExportFileGenerator::ComplainAboutMissingTarget() was a virtual function which had to be implemented in the subclasses. It is not anymore. Instead, there is now a virtual function HandleMissingTargets(), which is implemented in the two subclasses. This makes e.g. dealing correctly with APPEND mode easier. Alex
| * | | | | exports: fix build with MSVC6Alex Neundorf2012-09-284-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it seems it doesn't like deleting const pointers Alex
| * | | | | exports: first try at error handling if a target is missingAlex Neundorf2012-09-284-11/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now, if an imported target depends on a library which must come from some other export set, cmake generates a check which errors out if that target does not exist. I guess instead of completely erroring out it would be better to only make the find_package() fail. Alex
| * | | | | exports: accept a missing target if it is exported exactly onceAlex Neundorf2012-09-287-22/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a target is exported, and a library it depends on is not part of the same export set, before this patch cmake errored out. With this patch, it now checks whether the missing target is exported somewhere else exactly once, and accepts in this case (because then it can determine the namespace for the missing target and use this). Alex
| * | | | | exports: store pointers to all installations of each export setAlex Neundorf2012-09-283-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This information will be used to check whether a target is exported once or multiple times and to check its namespace. Alex
| * | | | | exports: cmGlobalGenerator::ExportSets destructor will clear itYury G. Kudryashov2012-09-281-1/+0
| | | | | |
| * | | | | exports: Hold an ExportSet pointer in cm*Export*GeneratorYury G. Kudryashov2012-09-285-38/+30
| | | | | | | | | | | | | | | | | | | | | | | | Get name from this->ExportSet.
| * | | | | exports: Add cmExportSetMap classYury G. Kudryashov2012-09-288-38/+76
| | | | | | | | | | | | | | | | | | | | | | | | This is a map<string, cmExportSet *> with overloaded operator[] and destructor.
| * | | | | exports: Create class cmExportSetYury G. Kudryashov2012-09-2810-43/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace direct use of 'std::vector<cmTargetExport const*>' with a dedicated class.
| * | | | | exports: Rename cmGlobalGenerator::AddTargetToExport{s,}Yury G. Kudryashov2012-09-283-17/+3
| | | | | | | | | | | | | | | | | | | | | | | | This function adds target to one export, not to several exports.
| * | | | | exports: Remove cmTargetExport constructorYury G. Kudryashov2012-09-284-31/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The constructor was used exactly once. Setting members explicitly makes the code more readable.
| * | | | | exports: Move cmTargetExport to a dedicated header fileYury G. Kudryashov2012-09-285-31/+54
| | | | | |
| * | | | | find_package: add support for a <package>_NOT_FOUND_MESSAGE variableAlex Neundorf2012-09-283-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a config-file sets <package>_FOUND to FALSE, it can now give a reason using the variable <package>_NOT_FOUND_MESSAGE, which is used by cmFindPackage and FPHSA. Alex