summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* Android: Fix support for cxxabi.h with libc++Brad King2016-10-072-0/+5
| | | | | | Additional include directories are needed for this on some STL types. Closes: #16350
* Android: Suppress -Wattributes warnings in test case buildsBrad King2016-10-061-2/+2
| | | | | | | | | | | | | | We use `-Werror` in the Android test builds to make sure there are no warnings that we care about (e.g. unused flags). However, the NDK r13 tools produce a warning about their own builtins: ``` <built-in>: In function 'float abs(float)': <built-in>: warning: conflicts with previous declaration here [-Wattributes] ``` Suppress this warning so that we can continue using `-Werror` but tolerate these warnings.
* Merge topic 'add-setup-projects-tests-module'Brad King2016-10-0116-0/+148
|\ | | | | | | | | 130784e0 AndroidTestUtilities: Add module to help drive Android device tests
| * AndroidTestUtilities: Add module to help drive Android device testsSchuyler Kylstra2016-09-3016-0/+148
| | | | | | | | | | | | Add a module to manage the data needed for the project tests. It will move the test data to the build directory and transfer necessary data to an Android device if that is enabled.
* | Merge topic 'cmake_parse_arguments-PARSE_ARGV-multi-value'Brad King2016-09-295-19/+92
|\ \ | | | | | | | | | | | | | | | 66c70cd9 cmake_parse_arguments: Add additional unit tests 41291b20 cmake_parse_arguments: Fix PARSE_ARGV multi-value argument handling
| * | cmake_parse_arguments: Add additional unit testsMatthew Woehlke2016-09-285-29/+84
| | | | | | | | | | | | Add additional unit tests for some corner cases in argument splitting.
| * | cmake_parse_arguments: Fix PARSE_ARGV multi-value argument handlingMatthew Woehlke2016-09-281-2/+20
| |/ | | | | | | | | | | | | | | | | The `PARSE_ARGV` mode was recently added to help functions properly parse their arguments even when those arguments may be quoted and contain literal `;` in their values. Fix the implementation to encode `;`s in reported multi-value arguments and in `UNPARSED_ARGUMENTS` so that `;`s in the individual values are preserved in the lists. This allows clients to access all their argument values correctly.
* | Merge topic 'fix-explicit-RC'Brad King2016-09-293-1/+5
|\ \ | | | | | | | | | | | | | | | 9c5238df project: Fix support for explicit RC language 40c04821 Tests: Decide earlier whether to test resources
| * | project: Fix support for explicit RC languageBrad King2016-09-283-1/+5
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | The check added in commit v3.6.0-rc1~293^2 (Diagnose recursive project/enable_language without crashing, 2016-03-07) broke support for enabling `RC` explicitly along with other languages like `C`. The reason is that we enable all listed languages at once so the internal `enable_language(RC)` that we do while enabling `C` or `CXX` on some platforms triggers the recursion check if `RC` is explicitly listed. Ideally we should refactor things to only enable one language at a time, but for now it is simplest to just exclude `RC` from the explicit list until other languages are enabled, and then enable it. Closes: #16330
* | Tests: Add newline to RunCMake.CPack_RPM SOURCE_PACKAGE caseBrad King2016-09-281-1/+1
|/ | | | | | The `main.cpp` that this test generates needs a newline so that compilers do not warn about a missing newline. Otherwise the warning causes RunCMake infrastructure to detect unexpected output.
* Tests: Fix RunCMake.CTest output match to tolerate line number changesBrad King2016-09-271-3/+3
|
* Merge topic 'cpack-rpm-debuginfo-sources'Brad King2016-09-272-2/+10
|\ | | | | | | | | | | | | 39c7d62c CPack/RPM debuginfo packaging documentation dd3c938a CPack/RPM debuginfo directories to sources b78fcf0d CPack/RPM debuginfo packages must contain sources
| * CPack/RPM debuginfo directories to sourcesDomen Vrankar2016-09-271-2/+2
| | | | | | | | | | | | List of sources must be split into paths parts so that debuginfo package cleans up after itself.
| * CPack/RPM debuginfo packages must contain sourcesDomen Vrankar2016-09-272-2/+10
| | | | | | | | | | Issue #15668 fix was missing relevant source files in debuginfo package.
* | Fix XCODE_ATTRIBUTE_..._LOCATION target property lookupBrad King2016-09-223-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit v3.5.0-rc1~272^2~16 (cmGeneratorTarget: Add API for property keys, 2015-10-25) changed the Xcode generator implementation of `XCODE_ATTRIBUTE_...` properties to use the target `GetProperty` method on each `XCODE_ATTRIBUTE_...` property listed by `GetPropertyKeys` instead of looping over the property entries directly. This made the lookup of property names of the form `XCODE_ATTRIBUTE_..._LOCATION` accidentally trigger the computed property logic for the undocumented/legacy `<CONFIG>_LOCATION` property. Of course the computed property value is not the same as the value stored in the `XCODE_ATTRIBUTE_..._LOCATION` property. Fix the computed property logic to avoid triggering on `XCODE_ATTRIBUTE_...` attributes. Closes: #16319
* | Merge topic 'test-fixtures'Brad King2016-09-2216-0/+207
|\ \ | | | | | | | | | | | | 73f47c9e CTest: Add support for test fixtures
| * | CTest: Add support for test fixturesCraig Scott2016-09-2016-0/+207
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new test properties: * FIXTURES_SETUP * FIXTURES_CLEANUP * FIXTURES_REQUIRED to specify the roles and dependencies of tests providing/using test fixtures.
* | | server-mode: Introduce cmServerConnectionTobias Hunger2016-09-223-0/+3
| |/ |/| | | | | | | | | | | | | Use it to split pipe and stdin/out handling out of cmServer itself. The server will shut down when it looses its connection to the client. This has the nice property that a crashing client will cause the server to terminate as the OS will close the connection on behave of the client.
* | Merge topic 'ctest-capture-error'Brad King2016-09-219-0/+48
|\ \ | | | | | | | | | | | | | | | | | | adf1e32f Help: Add notes for topic 'ctest-capture-error' d328dc68 CTest: Add CAPTURE_CMAKE_ERROR val to `ctest_*` commands 9ac2e189 ctest_coverage: If gcov is not found just warn, not error
| * | CTest: Add CAPTURE_CMAKE_ERROR val to `ctest_*` commandsBill Hoffman2016-09-209-0/+48
| | | | | | | | | | | | | | | | | | | | | If a `ctest_*` command has CAPTURE_CMAKE_ERROR then any errors generated by cmake during that command will cause the value to be assigned `-1`. This will prevent a `ctest -S` script from returning non-zero unless the script explicitly calls `message(FATAL_ERROR)`.
* | | Merge topic 'runcmake-cpack-test-framework-fix'Brad King2016-09-211-70/+17
|\ \ \ | |_|/ |/| | | | | | | | cb851a7c Tests: Fix RunCMake.CPack test infrastructure after logical conflict
| * | Tests: Fix RunCMake.CPack test infrastructure after logical conflictDomen Vrankar2016-09-201-70/+17
| | | | | | | | | | | | | | | | | | | | | | | | The changes in commit d9cec8ad (CPack/RPM: Generate source rpm (SRPM) packages on demand, 2016-09-19) logically conflict with the infrastructure updates in commit 4682b42b (Tests: Add subtest support to RunCMake/CPack infrastructure, 2016-09-13). Integrate the two changes so they work together.
* | | Merge topic 'directory-list-targets-and-subdirs'Brad King2016-09-205-1/+38
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | d0be1e15 Add directory properties to get source and binary directories cbca6582 Add directory property to list buildsystem targets 7a4b8d0d Add a directory property to list subdirectories 089868a2 cmState: Record buildsystem target names in each directory
| * | Add directory properties to get source and binary directoriesBrad King2016-09-192-1/+14
| | | | | | | | | | | | | | | | | | Add SOURCE_DIR and BINARY_DIR directory properties that return the absolute paths to the corresponding directories. These correspond to the target properties of the same names that we already have.
| * | Add directory property to list buildsystem targetsBrad King2016-09-193-1/+15
| | | | | | | | | | | | | | | Add a BUILDSYSTEM_TARGETS property to allow project code to traverse the list of its own targets in a given directory.
| * | Add a directory property to list subdirectoriesBrad King2016-09-195-1/+11
| | | | | | | | | | | | | | | Add a SUBDIRECTORIES directory property to allow project code to traverse the directory structure of itself as CMake sees it.
* | | Merge topic 'cpack-rpm-srpm-package'Brad King2016-09-206-1/+145
|\ \ \ | | | | | | | | | | | | | | | | d9cec8ad CPack/RPM: Generate source rpm (SRPM) packages on demand
| * | | CPack/RPM: Generate source rpm (SRPM) packages on demandDomen Vrankar2016-09-206-1/+145
| |/ / | | | | | | | | | Closes: #15839
* | | Merge topic 'cpack.hash_computing'Brad King2016-09-208-12/+70
|\ \ \ | | | | | | | | | | | | | | | | | | | | 1c63aa4d CPack: Add option to generate a checksum file next to each package file 4682b42b Tests: Add subtest support to RunCMake/CPack infrastructure
| * | | CPack: Add option to generate a checksum file next to each package filePetr Orlov2016-09-195-0/+30
| | | | | | | | | | | | | | | | Add variable CPACK_PACKAGE_CHECKSUM to activate it.
| * | | Tests: Add subtest support to RunCMake/CPack infrastructureDomen Vrankar2016-09-193-12/+40
| |/ /
* | | server-mode: Add --experimental flagTobias Hunger2016-09-201-1/+1
|/ / | | | | | | | | | | | | | | Allow for experimental cmProtocolVersions, which will only ever get listed if the server was started with the (undocumented) "--experimental" flag. Mark current protocol version 1.0 as experimental.
* | cmake-server: Bare-bones server implementationTobias Hunger2016-09-193-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds a bare-bones cmake-server implementation and makes it possible to start that with "cmake -E server". Communication happens via stdin/stdout for now. Protocol is based on Json objects surrounded by magic strings ("[== CMake Server ==[" and "]== CMake Server ==]"), which simplifies Json parsing significantly. This patch also defines an interface used to implement different versions of the protocol spoken by the server, but does not include any protocol implementaiton.
* | Make the add_custom_command output more predictableStephen Kelly2016-09-191-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I otherwise get: Expected stderr to match: expect-err> CMake Error at AppendNotOutput.cmake:1 \(add_custom_command\): expect-err> add_custom_command given APPEND option with output.* expect-err> which is not already a custom command output. expect-err> Call Stack \(most recent call first\): expect-err> CMakeLists.txt:3 \(include\) Actual stderr: actual-err> CMake Error at AppendNotOutput.cmake:1 (add_custom_command): actual-err> add_custom_command given APPEND option with output actual-err> "/home/stephen/dev/src/cmake/with actual-err> space/Tests/RunCMake/add_custom_command/AppendNotOutput-build/out" which is actual-err> not already a custom command output. actual-err> Call Stack (most recent call first): actual-err> CMakeLists.txt:3 (include) Using a specific line for paths is a style already used elsewhere for the same reason, such as CMP0041 output.
* | Merge topic 'file-curl-httpheader'Brad King2016-09-167-0/+14
|\ \ | | | | | | | | | | | | 8f6cb366 file(DOWNLOAD|UPLOAD): Add HTTPHEADER suboption
| * | file(DOWNLOAD|UPLOAD): Add HTTPHEADER suboptionRuslan Baratov2016-09-157-0/+14
| | |
* | | Tests: Add case for file(LOCK) with lower-cased pathRuslan Baratov2016-09-152-0/+12
| | | | | | | | | | | | | | | | | | | | | The KWSys update in commit d28e4467 (KWSys 2016-09-14 (c4049689)) fixed this case, so add it to the test suite. Closes: #16295
* | | Merge topic 'update-kwsys'Brad King2016-09-151-6/+6
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | de149317 Tests: Use upper-case drive letters in RunCMake.get_filename_component 04d94fbe Merge branch 'upstream-KWSys' into update-kwsys d28e4467 KWSys 2016-09-14 (c4049689) e4fc770f Merge branch 'upstream-KWSys' into update-kwsys b80d6136 KWSys 2016-09-14 (e736efa1)
| * | Tests: Use upper-case drive letters in RunCMake.get_filename_componentBrad King2016-09-151-6/+6
| |/ | | | | | | | | | | | | | | With the most recent KWSys update, the "actual case" operation on Windows always upper-cases the drive letter now even for absolute paths that do not exist. Use an upper-case drive letter in the test so that it can tolerate this operation on Windows and the lack of this operation elsewhere.
* | Merge topic 'file-curl-userpw'Brad King2016-09-147-0/+14
|\ \ | | | | | | | | | | | | | | | abeb42f1 Help: Add notes for topic 'file-curl-userpw' e5ba1041 file(DOWNLOAD|UPLOAD): Add 'USERPWD' suboption
| * | file(DOWNLOAD|UPLOAD): Add 'USERPWD' suboptionRuslan Baratov2016-09-137-0/+14
| | |
* | | Merge topic 'add_androidmk_generator'Brad King2016-09-148-0/+99
|\ \ \ | |/ / |/| | | | | | | | | | | | | | 42ce9f1e Add support for creating prebuilt Android.mk files d5257063 Export: Virtualize file generation step helpers f81b9475 Export: Factor out file generation steps into helpers
| * | Add support for creating prebuilt Android.mk filesBill Hoffman2016-09-138-0/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add options to the `install()` and `export()` commands to export the targets we build into Android.mk files that reference them as prebuilt libraries with associated usage requirements (compile definitions, include directories, link libraries). This will allow CMake-built projects to be imported into projects using the Android NDK build system. Closes: #15562
* | | Merge topic 'file-download-unexpected-arg'Brad King2016-09-139-0/+22
|\ \ \ | |_|/ |/| | | | | | | | 4dd997da file(DOWNLOAD|UPLOAD): Warn on unexpected arguments
| * | file(DOWNLOAD|UPLOAD): Warn on unexpected argumentsRuslan Baratov2016-09-099-0/+22
| | | | | | | | | | | | | | | Emit warning message on unparsed argument instead of silently ignoring it. Can't stop with the error message because it may break old code.
* | | Merge topic 'geh-failure-tests'Brad King2016-09-1212-203/+445
|\ \ \ | |/ / |/| | | | | | | | | | | | | | 612d6f29 Tests: Refactor GenerateExportHeader test code ce76abb4 Tests: Add data symbols to GenerateExportHeader test 8f95b93b Tests: Add failure test for GenerateExportHeader
| * | Tests: Refactor GenerateExportHeader test codeMatthew Woehlke2016-09-127-237/+327
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor the library code used in the GenerateExportHeader test to use an improved naming convention that more directly identifies what it being tested, making use of namespaces to avoid possible symbol collisions. This also eliminates duplicate cases such as `libshared()` and `libshared_not_exported()` which had the same decoration, and adds consistent pairings of <name>_EXPORT and <name>_DEPRECATED_EXPORT which were missing previously. The data tests from the previous commit are also added to `libstatic` and `libshared_and_static` for consistency. Note that there are no exported members of exported classes, as these are not allowed on Windows.
| * | Tests: Add data symbols to GenerateExportHeader testMatthew Woehlke2016-09-123-0/+74
| | | | | | | | | | | | | | | | | | Add static data members and global variables to the GenerateExportHeader shared library, testing that export decoration for these works in addition to decoration of classes and free functions.
| * | Tests: Add failure test for GenerateExportHeaderMatthew Woehlke2016-09-126-18/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modify notation of statements in the GenerateExportHeader test expected to result in link errors. Modify script used to build the test to also generate a suite of modified sources, each having exactly one of the failing lines enabled, and to generate EXCLUDE_FROM_ALL executables for the same. Modify RunCMake script used to drive the test to read the list of such executables and try to build each of them, verifying that they do in fact fail to build. This will verify that the _NO_EXPORT macros are working as expected, and will also catch errors like the one that commit 0cbaaf2d (GenerateExportHeader: Fix add_compiler_export_flags regression, 2016-09-01) fixed. When setting up the failure tests for GenerateExportHeader, check if the compiler actually hides non-exported stuff. If not, the failure tests won't fail, and will cause the overall test to fail. Since this typically is only the case for very old compilers, simply skipping them as opposed to trying to do something more fine grained seems reasonably safe.
* | | cmake_parse_arguments: Add option to read arguments from ARGC/ARGV#Bill Hoffman2016-09-0814-0/+69
| |/ |/| | | | | | | | | | | | | | | The `ARGC`/`ARGV#` variables in function scope hold the original arguments with no ;-list flattening. Add a way for functions to cleanly parse arguments that may contain `;`. This also avoids extra copying of the arguments. Co-Author: Brad King <brad.king@kitware.com>