Commit Graph

19746 Commits

Author SHA1 Message Date
Stephen Kelly 7aa99270fa GenEx: Don't use std::vector::at(int).
It might not exist with GCC 2.9.
2012-10-09 08:26:56 -04:00
Stephen Kelly 78e54b99fe GenEx: Add tests for "0" and "1" expressions with literal commas. 2012-10-09 08:26:54 -04:00
Stephen Kelly d729e8b74c GenEx: Add test for $<BOOL:> with empty parameter. 2012-10-09 08:26:51 -04:00
Stephen Kelly 354face4fa GenEx: Ensure that the empty CONFIGURATION can be used conditionally.
The CONFIGURATION can not be manipulated at unit testing time, so
this is not unit tested further.
2012-10-09 08:26:48 -04:00
Stephen Kelly 8b3b88abd8 GenEx: Validate target and property names.
They must be non-empty, and match a restrictive regexp.
2012-10-09 08:26:45 -04:00
Stephen Kelly b3d8f5dab7 GenEx: Parse comma after colon tokens specially
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.
2012-10-09 08:26:43 -04:00
Stephen Kelly a4985a9af9 GenEx: Report actual target name not found, not "0" each time. 2012-10-09 08:26:40 -04:00
Stephen Kelly d70650d6c3 GenEx: Return after error reported. 2012-10-09 08:26:37 -04:00
Stephen Kelly 4801eb6333 GenEx: It is not an error to specify an empty parameter
This is allowed by the CONFIG and STREQUAL expressions.
2012-10-09 08:26:32 -04:00
Kitware Robot 7e9bc86684 CMake Nightly Date Stamp 2012-10-09 00:01:15 -04:00
Brad King 0ed6ff7a2e string: Clarify regex documentation of '-' behavior
Mention that it is only special inside brackets.  Show an example.

Suggested-by: Alan W. Irwin
2012-10-08 09:32:15 -04:00
Kitware Robot 63baa20328 CMake Nightly Date Stamp 2012-10-08 00:01:02 -04:00
Kitware Robot 69f296bd36 CMake Nightly Date Stamp 2012-10-07 00:01:03 -04:00
Kitware Robot be9ebdb4c4 CMake Nightly Date Stamp 2012-10-06 00:01:03 -04:00
Brad King f63304d982 if: Document that plain 'NOTFOUND' is a false constant
Previously we only mentioned the '-NOTFOUND' suffix.

Reported-by: Nils Gladitz <gladitz@sci-vis.de>
2012-10-05 15:14:29 -04:00
Kitware Robot 60b59a54c1 CMake Nightly Date Stamp 2012-10-05 00:01:05 -04:00
Rolf Eike Beer 995a35fe12 CTest: add a check with a quoted memory checker 2012-10-04 23:07:31 +02:00
Rolf Eike Beer de8bffc8f8 CTest: add a test for CTEST_CUSTOM_MEMCHECK_IGNORE 2012-10-04 23:07:31 +02:00
Rolf Eike Beer d26c9b69c5 CTest: improve memory checker type detection
If the checker was explicitely set with a "TypeCommand" variable (e.g.
ValgrindCommand) then we now just believe that this is valgrind, even if
nothing in the path matches "valgrind". Only when "MemoryCheckCommand" was used
we still scan the path to find out what checker we have.
2012-10-04 23:07:31 +02:00
Rolf Eike Beer fcae1dacea CTest: add tests that simulate memcheck runs 2012-10-04 23:07:31 +02:00
Alex Neundorf e2b1630830 Document CMAKE_FIND_PACKAGE_NAME
Alex
2012-10-04 21:54:40 +02:00
Brad King ea17faac4d cmCTestSVN: Fix compilation with Sun CC 5.1
Hack access to cmCTestVC::Revision on this compiler to avoid errors like

 Source/CTest/cmCTestSVN.cxx, line 23: Error: cmCTestSVN::SVNInfo is not accessible from cmCTestSVN::Revision.
 Source/CTest/cmCTestSVN.cxx, line 22: Error: cmCTestVC::Revision is not accessible from file level.
2012-10-04 15:05:05 -04:00
Kitware Robot 35f2af164f CMake Nightly Date Stamp 2012-10-04 00:01:07 -04:00
Peter Kümmel aa2e1e9cae Ninja: implicit dependency for custom command files 2012-10-03 18:09:49 +02:00
Peter Kümmel 188c73cb74 Ninja: also set OBJECT_DIR when compiling
BUG: 0013510
2012-10-03 17:24:36 +02:00
Philip Lowman 0594bee578 FindGTK2: Update local changelog 2012-10-03 05:03:53 -04:00
Philip Lowman 8093f6cede FindGTK2: #12596 Missing paths for FindGTK2 on NetBSD 2012-10-03 04:57:45 -04:00
Philip Lowman 06638039aa FindGTK2: #12049 fix detection of header files on multiarch systems 2012-10-03 04:52:35 -04:00
Philip Lowman b74267745b FindGTK2: Rollback lib64 changes which broke header file finding
The changes in "use PATH_SUFFIXES to simplify find_* calls" on 8/14
regressed important functionality in FindGTK for using find_path to
locate header files in <prefix>/lib/<gtk_package>/include.

The find_path function doesn't search <prefix>/lib only <prefix>/include.
2012-10-03 04:45:22 -04:00
Kitware Robot 17d4527032 CMake Nightly Date Stamp 2012-10-03 00:01:07 -04:00
Brad King 47e50423bf Merge topic 'ninja-LIBPATH'
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
2012-10-02 10:07:32 -04:00
Brad King 851a3a0b75 Merge topic 'ninja-link-rsp-expand'
dbd99d6 Revert "Ninja: don't expand any rsp files"
f1670ab Ninja: don't confuse ninja's rsp files with nmake's
2012-10-02 10:06:54 -04:00
Brad King 3aa15d62f8 Merge topic 'FindCURL-libcurl'
708b53e FindCURL: Find older MSVC prebuilts
2012-10-02 10:06:37 -04:00
Kitware Robot d7bc225530 CMake Nightly Date Stamp 2012-10-02 00:01:05 -04:00
Peter Kümmel 1e47ccb554 Ninja: add option to enforce usage of response files
If the cmake or environment variable CMAKE_NINJA_FORCE_RESPONSE_FILE
is set then a response file is used regardless the command line length.
2012-10-01 17:06:38 -04:00
Peter Kümmel e31df03939 Ninja: move <OBJECTS> in front of the first linker option
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>.
2012-10-01 17:06:38 -04:00
Peter Kümmel 8d674e7844 Ninja: move -LIBPATH behind -link option
Don' pass linker option to the compile
2012-10-01 17:06:38 -04:00
Bill Hoffman dbd99d6fbb Revert "Ninja: don't expand any rsp files"
This reverts commit 5598d9b2a0.

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.
2012-10-01 17:06:37 -04:00
Brad King 15cc55fe08 Merge topic 'documentation-cleanup'
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.
2012-10-01 14:05:44 -04:00
Brad King 49c7b649f9 Merge topic 'export-sets'
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
...
2012-10-01 14:05:35 -04:00
Brad King 7dce31f3d0 Merge topic 'vs-pdb-output'
2ccca05 Run PDBDirectoryAndName test on MSVC and Intel
efc83b3 Document that PDB_(NAME|OUTPUT_DIRECTORY) are ignored for VS 6
b294457 Verify that PDB_(NAME|OUTPUT_DIRECTORY) are honored in test
3f60dbf Add PDB_OUTPUT_DIRECTORY and PDB_NAME target properties (#10830)
2012-10-01 14:05:11 -04:00
Andreas Mohr 708b53e709 FindCURL: Find older MSVC prebuilts
Older Windows MSVC CURL prebuilts have the .lib named as "libcurl.lib".
2012-10-01 13:21:46 -04:00
Rolf Eike Beer 6187876dea CTest: fix pre and post test commands with spaces
If the pre or post memcheck or test commands have spaces in the path these
were never escaped, leading to broken commands. This was not covered in the
test suite so it went unnoticed.
2012-10-01 17:39:09 +02:00
Rolf Eike Beer 95bc8aa6c4 CTest: fix usage of memory checker with spaces in path
The filename was escaped in cmCTestMemCheckHandler::InitializeMemoryChecking()
and again before it was written to output in
cmCTestRunTest::ComputeArguments().

Once someone uses e.g. a valgrind path with spaces this leads to double escaping
making the memory checker fail completely because of the invalid path.
2012-10-01 17:39:09 +02:00
Kitware Robot 7fc4d81384 CMake Nightly Date Stamp 2012-10-01 00:01:03 -04:00
Alex Neundorf 80112da54e Merge topic 'AutomocUseTargetProperties' into export-sets
Conflicts:
	Source/cmGlobalGenerator.h
2012-09-30 10:27:44 -04:00
Alex Neundorf 955b96629e exports: add a test for exporting dependent targets
The test exports two libraries into two separate exports,
and then include()s the generated export files. This must not fail.

Alex
2012-09-30 10:27:02 -04:00
Alex Neundorf 6f50a04cc1 exports: define a CMAKE_FIND_PACKAGE_NAME var set by find_package()
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
2012-09-30 10:26:54 -04:00
Alex Neundorf 0cfd055acd exports: move the handling of missing targets into subclasses
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
2012-09-30 10:26:10 -04:00
Kitware Robot 554d4ed584 CMake Nightly Date Stamp 2012-09-30 00:01:04 -04:00