summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'output-CMP0022-entries'Brad King2013-10-231-0/+9
|\ | | | | | | | | 0b3b336 CMP0022: Output link interface mismatch for static library warning
| * CMP0022: Output link interface mismatch for static library warningStephen Kelly2013-10-231-0/+9
| | | | | | | | | | | | Other warnings for the same policy already have similar output since commit 81d2793e (Add differing target property content to policy CMP0022 warning, 2013-09-11).
* | Merge topic 'remove-old-commands-by-policy'Brad King2013-10-2373-0/+234
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6c91944 Add policy CMP0036 to disallow build_name 3969bb2 Add policy CMP0035 to disallow variable_requires 178b9af Add policy CMP0034 to disallow utility_source 248d1dc Add policy CMP0033 to disallow export_library_dependencies 6865c8f Add policy CMP0032 to disallow output_required_files aa76518 Add policy CMP0031 to disallow load_command 97268cf Add policy CMP0030 to disallow use_mangled_mesa 9f64fbf Add policy CMP0029 to disallow subdir_depends 882c0f0 Add infrastructure for policies that disallow commands
| * | Add policy CMP0036 to disallow build_nameBrad King2013-10-2210-0/+29
| | |
| * | Add policy CMP0035 to disallow variable_requiresBrad King2013-10-2210-0/+29
| | |
| * | Add policy CMP0034 to disallow utility_sourceBrad King2013-10-2210-0/+29
| | |
| * | Add policy CMP0033 to disallow export_library_dependenciesBrad King2013-10-2210-0/+29
| | |
| * | Add policy CMP0032 to disallow output_required_filesBrad King2013-10-2210-0/+29
| | |
| * | Add policy CMP0031 to disallow load_commandBrad King2013-10-2210-0/+29
| | |
| * | Add policy CMP0030 to disallow use_mangled_mesaBrad King2013-10-2210-0/+29
| | |
| * | Add policy CMP0029 to disallow subdir_dependsBrad King2013-10-228-0/+19
| | |
| * | Add infrastructure for policies that disallow commandsBrad King2013-10-223-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | Add cmCommand::Disallowed helper to check the setting of a policy that disallows the command. Add a RunCMake.DisallowedCommands test placeholder. Add a Help/policy/DISALLOWED_COMMAND.txt file for inclusion by each policy document to avoid duplication of the common text.
* | | Merge topic 'CheckTypeSize_CXX'Brad King2013-10-2314-0/+64
|\ \ \ | |/ / |/| | | | | | | | | | | e6cec64 CheckTypeSize: Add unit tests 07a2342 CheckTypeSize: Add support for C++
| * | CheckTypeSize: Add unit testsDaniele E. Domenichelli2013-10-2114-0/+64
| | |
* | | Merge topic 'string-CONCAT-command'Brad King2013-10-227-0/+33
|\ \ \ | | | | | | | | | | | | | | | | 4e184a2 string: Add CONCAT sub-command
| * | | string: Add CONCAT sub-commandBrad King2013-10-217-0/+33
| |/ / | | | | | | | | | | | | | | | Add a string(CONCAT) command to simply concatenate input arguments together. This will be useful for combining strings from different quoting syntaxes. Add a RunCMake.string test covering these cases.
* | | Merge topic 'double-colon-is-imported'Brad King2013-10-2213-0/+43
|\ \ \ | |/ / |/| | | | | | | | f063c45 Consider targets with double colons to be IMPORTED or ALIAS targets.
| * | Consider targets with double colons to be IMPORTED or ALIAS targets.Stephen Kelly2013-10-2113-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | Introduce a policy to control the behavior. The AliasTargets unit test already tests that using a double-semicolon in the name is not an error. Change the ExportImport test to use a namespace with a double-semicolon too.
* | | Merge topic 'cmake-syntax-updates'Brad King2013-10-2187-39/+272
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | daa0f6f Add Lua-style long brackets and long comments to CMake language a8c6523 cmListFileLexer: Convert CRLF -> LF newlines explicitly dbd9333 cmListFileLexer: Allow a leading UTF-8 Byte-Order-Mark (#11137) 5645783 cmListFileLexer: Allow command names with one letter (#14181)
| * | | Add Lua-style long brackets and long comments to CMake languageBrad King2013-10-1769-39/+219
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach the CMake language parser to recognize Lua-style "long bracket" arguments. These start with two '[' separated by zero or more '=' characters e.g. "[[" or "[=[" or "[==[". They end with two ']' separated by the same number of '=' as the opening bracket. There is no nesting of brackets of the same level (number of '='). No escapes, variable expansion, or other processing is performed on the content between such brackets so they always represent exactly one argument. Also teach CMake to parse and ignore "long comment" syntax. A long comment starts with "#" immediately followed by an opening long bracket. It ends at the matching close long bracket. Teach the RunCMake.Syntax test to cover long bracket and long comment cases.
| * | | cmListFileLexer: Convert CRLF -> LF newlines explicitlyBrad King2013-10-174-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Read input files in binary mode instead of text mode and convert CRLF newlines to LF newlines explicitly in our own buffer. This is necessary to read CMake source files with CRLF newlines on platforms whose C runtime libraries do not transform newlines in text mode. For example, a Cygwin or Linux binary may not transform CRLF -> LF in files read from a Windows filesystem. Perform the conversion ourselves to ensure that multi-line string literals in CMake source files have LF newlines everywhere.
| * | | cmListFileLexer: Allow a leading UTF-8 Byte-Order-Mark (#11137)Brad King2013-10-1715-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | Teach the lexer to read a UTF-8, UTF-16 BE/LE, or UTF-32 BE/LE Byte-Order-Mark from the start of a file if any is present. Report an error on files using UTF-16 or UTF-32 and accept a UTF-8 or missing BOM.
| * | | cmListFileLexer: Allow command names with one letter (#14181)Brad King2013-10-173-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach the lexer to treat a single letter as an identifier instead of an unquoted argument. Outside of a command invocation, the parser treats an identifier as a command name and an unquoted argument as an error. Inside of a command invocation, the parser treats an identifier as an unquoted argument. Therefore this change to the lexer will make what was previously an error case work with no other behavioral change.
* | | | Merge topic 'target-LOCATION-policy'Brad King2013-10-201-1/+1
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | abfebef Cygwin: Avoid legacy warnings in RunCMake.CMP0026 test
| * | | Cygwin: Avoid legacy warnings in RunCMake.CMP0026 testBrad King2013-10-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Set the minimum required version of CMake high enough to avoid the warning for CMAKE_LEGACY_CYGWIN_WIN32. The warning appears on stderr and breaks the expected output matching.
* | | | Handle genexes when evaluating INTERFACE_INCLUDE_DIRECTORIES errors.Stephen Kelly2013-10-1813-0/+84
| |/ / |/| |
* | | CMP0022: Add unit test for null pointer check and message.Stephen Kelly2013-10-164-0/+29
| | |
* | | Merge topic 'target-LOCATION-policy'Brad King2013-10-1513-0/+61
|\ \ \ | |/ / | | | | | | | | | e4e5b28 cmTarget: Deprecate the LOCATION target property with a policy.
| * | cmTarget: Deprecate the LOCATION target property with a policy.Stephen Kelly2013-10-1113-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The final location and name of a build-target is not determined until generate-time. However, reading the LOCATION property from a target is currently allowed at configure time. Apart from creating possibly-erroneous results, this has an impact on the implementation of cmake itself, and prevents some major cleanups from being made. Disallow reading LOCATION from build-targets with a policy. Port some existing uses of it in CMake itself to use the TARGET_FILE generator expression.
* | | export(): Process the export() command at generate time.Stephen Kelly2013-10-113-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the API for adding targets string based so that it can easily use cmGeneratorTarget. Teach the cmIncludeCommand to generate the exported file at configure-time instead if it is to be include()d. The RunCMake.ExportWithoutLanguage test now needs a dummy header.h file as expected error from export() is now reported after the missing file error.
* | | CMP0024: Store the fact of included export in global generator.Stephen Kelly2013-10-106-13/+12
|/ / | | | | | | | | Storing it in the makefile means that the policy does not trigger when include and export are in differing directories.
* | Merge topic 'deprecation-message'Brad King2013-10-0914-2/+33
|\ \ | | | | | | | | | | | | | | | | | | f973737 GenerateExportHeader: Port to use message(DEPRECATION) f69606d Qt4Macros: Port to use message(DEPRECATION) 509c142 message: Add a DEPRECATION mode
| * | Qt4Macros: Port to use message(DEPRECATION)Stephen Kelly2013-10-082-2/+2
| | |
| * | message: Add a DEPRECATION modeStephen Kelly2013-10-0812-0/+31
| | | | | | | | | | | | | | | | | | By default, the message is not issued. If CMAKE_ERROR_DEPRECATED is on, the message is fatal. If CMAKE_WARN_DEPRECATED is on, the message is a warning.
* | | Merge topic 'apple-clang-id'Brad King2013-10-091-0/+3
|\ \ \ | |/ / |/| | | | | | | | | | | | | | 1763c31 Set policy CMP0025 to NEW while building CMake itself aa53ee5 Add policy CMP0025 for Apple Clang compiler id compatibility ab65862 Clang: Add separate "AppleClang" compiler id
| * | Set policy CMP0025 to NEW while building CMake itselfBrad King2013-10-081-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CMake is aware of the policy's NEW behavior and the AppleClang compiler id. Set the policy to NEW explicitly to avoid the warning and get the NEW behavior. Also teach the RunCMake test infrastructure to build tests with -DCMAKE_POLICY_DEFAULT_CMP0025=NEW to avoid the policy warning in test output that must match specific regular expressions.
* | | Merge topic 'export-policy'Brad King2013-10-088-0/+58
|\ \ \ | |/ / | | | | | | | | | 904ff9f export: Add policy CMP0024 to disallow include() of export files
| * | export: Add policy CMP0024 to disallow include() of export filesStephen Kelly2013-10-078-0/+58
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, export() is executed at configure-time. One problem with this is that certain exported properties like the link interface may not be complete at the point the export() is encountered leading to an incorrect or incomplete exported representation. Additionally, the generated IMPORTED_LOCATION property may even be incorrect if commands following the export() have an effect on it. Another problem is that it requires the C++ implementation of cmake to be capable of computing the exported information at configure time. This is a limitation on the cleanup and maintenance of the code. At some point in the future, this limitation will be dropped and more implementation will be moved from cmTarget to cmGeneratorTarget.
* | Merge topic 'INTERFACE_LIBRARY-target-type'Brad King2013-10-0819-0/+133
|\ \ | | | | | | | | | | | | | | | | | | ce0c303 install: Teach EXPORT option to handle INTERFACE_LIBRARY targets 435c912 export: Add support for INTERFACE_LIBRARY targets fe73226 Add the INTERFACE_LIBRARY target type.
| * | export: Add support for INTERFACE_LIBRARY targetsStephen Kelly2013-10-082-0/+8
| | |
| * | Add the INTERFACE_LIBRARY target type.Stephen Kelly2013-10-0719-0/+125
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This target type only contains INTERFACE_* properties, so it can be used as a structural node. The target-specific commands enforce that they may only be used with the INTERFACE keyword when used with INTERFACE_LIBRARY targets. The old-style target properties matching LINK_INTERFACE_LIBRARIES_<CONFIG> are always ignored for this target type. The name of the INTERFACE_LIBRARY must match a validity generator expression. The validity is similar to that of an ALIAS target, but with the additional restriction that it may not contain double colons. Double colons will carry the meaning of IMPORTED or ALIAS targets in CMake 2.8.13. An ALIAS target may be created for an INTERFACE library. At this point it can not be exported and does not appear in the buildsystem and project files are not created for them. That may be added as a feature in a later commit. The generators need some changes to handle the INTERFACE_LIBRARY targets returned by cmComputeLinkInterface::GetItems. The Ninja generator does not use that API, so it doesn't require changes related to that.
* | Merge topic 'CheckStructHasMember_CXX'Brad King2013-10-0819-0/+73
|\ \ | | | | | | | | | | | | 73d28d2 CheckStructHasMember: Add support for C++
| * | CheckStructHasMember: Add support for C++Daniele E. Domenichelli2013-10-0819-0/+73
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | Previously if headers required to check if a struct has a member can be compiled with C++ compiler only, the check would fail because the C compiler fails. As a consequence, the result variable would be set to false, even if the struct has that particular member. Teach CHECK_STRUCT_HAS_MEMBER to accept a new optional argument LANGUAGE that allows one to explicitly set the compiler to use. The new signature is therefore: CHECK_STRUCT_HAS_MEMBER (<struct> <member> <header> <variable> [LANGUAGE <language>])
* | Merge topic 'RunCMake-ignore-valgrind-lines'Brad King2013-10-071-0/+1
|\ \ | | | | | | | | | | | | 4953330 Tests/RunCMake: Tolerate valgrind lines in CMake output
| * | Tests/RunCMake: Tolerate valgrind lines in CMake outputBrad King2013-09-161-0/+1
| |/ | | | | | | | | | | When RunCMake tests run during dynamic analysis, valgrind may add lines of the form "==[0-9]+==..." to the output. Remove such lines from the actual output before matching it against the expected output.
* | genex: Test preprocessing incomplete expressions.Stephen Kelly2013-09-132-0/+24
|/
* Add differing target property content to policy CMP0022 warningStephen Kelly2013-09-112-0/+18
| | | | | List the contents of the INTERFACE_LINK_LIBRARIES and the old-style property.
* Merge topic 'fix-RunCMake.Configure-FailCopyFileABI-newlines'Brad King2013-08-261-1/+2
|\ | | | | | | | | 2dce48f Fix RunCMake.Configure test expectation newline matching
| * Fix RunCMake.Configure test expectation newline matchingBrad King2013-08-161-1/+2
| | | | | | | | | | Teach FailCopyFileABI-check.cmake to convert CRLF to LF in the regular expression read literally from its own source.
* | Merge topic 'cmake-syntax'Brad King2013-08-154-0/+6
|\ \ | | | | | | | | | | | | 9040ec9 Do not warn about left paren not separated by a space