summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* 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 'rst-literal-blocks'Brad King2013-10-222-0/+39
|\ | | | | | | | | | | 2d0287d cmRST: Process literal blocks after paragraphs ending in '::' 7b9ae40 cmRST: Do not process inline markup in code-block literals
| * cmRST: Process literal blocks after paragraphs ending in '::'Brad King2013-10-212-0/+34
| | | | | | | | | | | | | | Teach cmRST to recognize non-markup lines ending in '::' followed by a blank line as starting a literal block. Record the whole block as if it were a literal block directive and print it just like a code block. Extend the CMakeLib.testRST test to cover such cases.
| * cmRST: Do not process inline markup in code-block literalsBrad King2013-10-212-0/+5
| | | | | | | | | | | | | | | | Move the ProcessDirectiveParsedLiteral and ProcessDirectiveCodeBlock method internals into an OutputMarkupLines helper. Pass through it a new "inlineMarkup" parameter and teach OutputLine to understand it. When false, do not process inline markup. Extend the CMakeLib.testRST test to cover the two cases.
* | 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-2215-11/+54
|\ \ \ | | | | | | | | | | | | | | | | 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-2115-11/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 'remove-cmake-i-wizard'Brad King2013-10-222-57/+4
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | a8226e9 cmake: Drop support for "-i" wizard mode
| * | | cmake: Drop support for "-i" wizard modeBrad King2013-10-182-57/+4
| |/ / | | | | | | | | | | | | Tell users to pass cache values with the -D option on the command line or use cmake-gui or ccmake.
* | | Merge topic 'INTERFACE_LIBRARY-build-targets'Brad King2013-10-214-0/+40
|\ \ \ | |_|/ |/| | | | | | | | | | | b04f3b9 Create make rules for INTERFACE_LIBRARY targets. dba4962 Makefile: Always create clean target command
| * | Create make rules for INTERFACE_LIBRARY targets.Stephen Kelly2013-10-214-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The result is that the depends of the target are created. So, add_library(somelib foo.cpp) add_library(anotherlib EXCLUDE_FROM_ALL foo.cpp) add_library(extra EXCLUDE_FROM_ALL foo.cpp) target_link_libraries(anotherlib extra) add_library(iface INTERFACE) target_link_libraries(iface INTERFACE anotherlib) Executing 'make iface' will result in the anotherlib and extra targets being made. Adding a regular executable to the INTERFACE of an INTERFACE_LIBRARY will not result in the executable being built with 'make iface' because of the logic in cmComputeTargetDepends::AddTargetDepend. So far, this is implemented only for the Makefile generator. Other generators will follow if this feature is possible for them. Make INTERFACE_LIBRARY targets part of the all target by default. Test this by building the all target and making the expected library EXCLUDE_FROM_ALL.
* | | 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
| | | |
* | | | target_link_libraries: Allow repeated use of LINK_{PRIVATE,PUBLIC} keywords.Stephen Kelly2013-10-171-3/+3
| |/ / |/| | | | | | | | | | | | | | | | | This has not been allowed since they were introduced in commit 91438222 (target_link_libraries: Add LINK_(PUBLIC|PRIVATE) options, 2011-10-07), but allowing this form makes it more compatible with the newer PUBLIC and PRIVATE keywords.
* | | CMP0022: Add unit test for null pointer check and message.Stephen Kelly2013-10-164-0/+29
| |/ |/|
* | get_property: Drop test for builtin property documentationBrad King2013-10-161-11/+0
| | | | | | | | | | Property documentation is no longer builtin, so the get_property command will be unable to return the documentation. Drop the test for it.
* | Add class cmRST to do basic reStructuredText processingBrad King2013-10-169-0/+246
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a cmRST class to perform just enough reStructuredText processing to support display of Help documents in human-readable text format. This will be used to implement --help-* command-line options. Support directives "include", "replace", "parsed-literal", "toctree" (Sphinx), and "cmake-module" (CMake Sphinx Extension to scan .cmake modules). Support inline CMake Sphinx Domain roles to convert cross-references to corresponding title text. Support inline substitutions defined by the "replace" directive, but keep it simple by requiring replacements to be defined before use. Add a CMakeLib "testRST" case to cover processing of supported constructs and compare results against expected output.
* | Drop CMAKE_STRICT modeBrad King2013-10-153-43/+0
| | | | | | | | | | | | | | With our modern development workflow it is less likely a property will be added to C++ code without documentation. This mode only existed to support the DocTest which had very limited coverage of the properties anyway.
* | Merge topic 'target-LOCATION-policy'Brad King2013-10-1515-3/+74
|\ \ | |/ | | | | | | e4e5b28 cmTarget: Deprecate the LOCATION target property with a policy.
| * cmTarget: Deprecate the LOCATION target property with a policy.Stephen Kelly2013-10-1115-3/+74
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge topic 'export-at-generate-time'Brad King2013-10-153-4/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | a4263c9 export(): Handle multiple dependent export sets. 66b290e export(): Process the export() command at generate time. 5fe5c32 export(): Set a Makefile on the cmExportBuildFileGenerator. e383555 cmExportInstallFileGenerator: Fix comment to match reality.
| * | 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.
* | | Merge topic 'fix-CMP0024-multiple-directories'Brad King2013-10-156-13/+12
|\ \ \ | |/ / | | | | | | | | | af1f698 CMP0024: Store the fact of included export in global generator.
| * | 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 'bump-required-cmake-version'Brad King2013-10-152-28/+11
|\ \ | | | | | | | | | | | | 920ffbf Require CMake 2.8.4 or greater to build CMake
| * | Require CMake 2.8.4 or greater to build CMakeStephen Kelly2013-10-152-28/+11
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | This allows the use of the $<TARGET_FILE:...> generator expression as a replacement for the use of the LOCATION target property. The use of the LOCATION target property is now deprecated for in-build targets. Also drop other checks for older CMake versions: * Simplify cmake_set_target_folder macro. * Use find_package(LibArchive) unconditionally. * Simplify condition for running testVisualStudioSlnParser test. * Convert two macros to functions. * Unconditionally run the CTestTestRerunFailed test.
* | Add a test for SYSTEM headers in INTERFACE libraries.Stephen Kelly2013-10-093-0/+51
|/
* Merge topic 'xcode-5-no-BuildDepends-help'Brad King2013-10-091-1/+1
|\ | | | | | | | | 7f459a6 Xcode: Teach BuildDepends test that Xcode >= 5 needs no help
| * Xcode: Teach BuildDepends test that Xcode >= 5 needs no helpBrad King2013-10-081-1/+1
| | | | | | | | | | | | Drop the HELP_XCODE workarounds needed on older Xcode versions when using Xcode >= 5. We now expect builds and rebuilds to work using proper dependencies with no special help.
* | 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 'FindGTK2-targets'Brad King2013-10-0948-0/+1031
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7efef02 FindGTK2: Add tests for components and targets in gtk and gtkmm modules 95fc47a FindGTK2: Make pangocairo and cairo optional dependencies 26f790f FindGTK2: Change extra includes -> optional 24e0272 FindGTK2: do not skip target creation if optional dependencies are not found d5f130c FindGTK2: Refactor _GTK2_ADJUST_LIB_VARS into _GTK2_ADD_TARGET fffbd72 FindGTK2: Do not add freetype includes if they are not found b69720d FindGTK2: Add libraries to the GTK2_LIBRARIES variable only when found 425ec40 FindGTK2: Do not link libfreetype e9f46df FindGTK2: Add config directories only if different from include ones 56a79e1 FindGTK2: Set INTERFACE_COMPILE_DEFINITIONS target property only if not empty 4b47586 FindGTK2: Add check to ensure that target exists 61242cc FindGTK2: Fix gmodule, glibmm, pangoft2, and pangoxft targets 4b876de FindGTK2: Link freetype libs to targets including freetype includes 67e761f FindGTK2: Small cleanup 682eea3 FindGTK2: Do not require the GTK_ prefix in all the internal functions 0bc3763 FindGTK2: Better handling of include directories ...
| * | FindGTK2: Add tests for components and targets in gtk and gtkmm modulesDaniele E. Domenichelli2013-10-0848-0/+1031
| | |
* | | Merge topic 'haiku-updates'Brad King2013-10-092-2/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 54ef2be Haiku: Include files cleanup in cmCTest 38d5555 Haiku: Remove outdated preprocessor checks 1dc61f8 Haiku: Remove use of B_COMMON_DIRECTORY 7ebc1cb Haiku: Several fixes to platform module
| * | | Haiku: Several fixes to platform moduleAdrien Destugues2013-10-082-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Do not define BEOS anymore (this includes workarounds which we don't need most of the time in Haiku, so we prefer opt-in IF(HAIKU) in the cmake files instead). * On the other hand, do define UNIX (we are trying to be compliant) and HAIKU (there is still a number of things we don't do like the average UNIX clone) * Do not use UnixPaths, as our filesystem hierarchy isn't anything like what it expects. * Do not use -nostart, which the compiler doesn't know about anymore. This used to be an Haiku extension to gcc, and is equivalent to -shared which is the default gcc option. * While "dl" functions are provided in libroot, this is always implicitly linked so there is no need to tell cmake about it. * Forcing position-independent code is not needed, so remove it. * On the other hand, include appropriate linker options for executables and shared libraries. * Support for the two available compilers in Haiku (gcc2 and gcc4) and pick the right headers and libraries according to the currently selected one. * With the adoption of the package manager, the directory layout was changed. Tell cmake where to look for header files and libraries. * As we don't define BEOS anymore, enable the workaround we still need for HAIKU as well. This is the lack of a libm (it is part of the implicitly linked in libroot) Applied-by: Rolf Eike Beer <eike@sf-mail.de>
* | | | Merge topic 'unset-PARENT_SCOPE'Brad King2013-10-091-0/+27
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 261c248 unset: Add PARENT_SCOPE option
| * | | | unset: Add PARENT_SCOPE optionBrad King2013-10-081-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add an unset() command option to remove a variable from the calling scope, just like the set() command's PARENT_SCOPE option. Teach the Unset test to cover such cases.