summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'ExternalProject-fix-CMAKE_CACHE_ARGS-list' into releaseBrad King2016-10-104-2/+24
|\
| * ExternalProject: Fix regression in passing list to CMAKE_CACHE_ARGSMax Smolens2016-10-104-2/+24
| | | | | | | | | | | | | | | | | | | | Fix passing a list to the CMAKE_CACHE_ARGS and CMAKE_CACHE_DEFAULT_ARGS options of ExternalProject_Add. Following commit v3.7.0-rc1~273^2~1 (prefer list(APPEND) over string(APPEND) where appropriate, 2016-08-08), the semicolon list separator after the first list element was missing in the generated cache.
* | Merge branch 'android-export-has-cpp' into releaseBrad King2016-10-074-1/+10
|\ \
| * | Android: Record use of C++ by static libs in exported Android.mk filesBrad King2016-10-074-1/+10
| |/ | | | | | | | | | | | | | | When a `PREBUILT_STATIC_LIBRARY` uses C++ in its sources then the `.a` file will have a link-time dependency on the C++ runtime libraries. Android NDK r14 will add a way to give this information to the NDK build system by adding a `LOCAL_HAS_CPP` setting to the `Android.mk` file. Add this for exported static libraries that use C++.
* | 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 'autogen-empty-qrc'Brad King2016-10-013-0/+19
|\ | | | | | | | | | | bcafc399 QtAutogen: Add test for empty qrc file 98b11f25 QtAutogen: Allow .qrc files that do not contain any file reference
| * QtAutogen: Add test for empty qrc fileSebastian Holtermann2016-09-303-0/+19
| |
* | 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.
* | | Tests: Teach Server test to wait for server exitBrad King2016-09-301-0/+14
| |/ |/| | | | | | | | | | | We expect the server to exit when its communication pipes are closed. Close them and wait for the server to exit. If supported by the current version of python, kill the server if it does not exit after a few seconds.
* | server-mode: Add option to enable/disable test case explicitlyBrad King2016-09-291-1/+1
| | | | | | | | | | | | | | Add a `CMake_TEST_SERVER_MODE` option that can be set in testing builds to enable/disable server mode tests explicitly. This will allow testing in combination with `CMake_TEST_EXTERNAL_CMAKE` or for server mode to be built on systems that have a python version that cannot run the test.
* | server-mode: Rename variable CMake_{HAVE => ENABLE}_SERVER_MODEBrad King2016-09-291-1/+1
| | | | | | | | The latter is a better name for making it a public-facing option.
* | 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 'cmake-server-commands'Brad King2016-09-299-20/+108
|\ \ | | | | | | | | | | | | | | | | | | | | | 71a50587 server-mode: Add project data for unit tests 7b1e60f2 server-mode: Report CMakeCache entries 84553a6e server-mode: Add command to retrieve build system files ead71873 server-mode: Report information relevant for a codemodel
| * | server-mode: Add project data for unit testsTobias Hunger2016-09-289-20/+108
| |/ | | | | | | | | | | | | | | | | Do some basic unit tests for "codemodel", "cmakeInputs" and "cache" commands of the cmake server. This just calls the commands right now and makes sure the server thinks it can reply to the request. The data itself is currently not validated.
* | Merge topic 'fix-explicit-RC'Brad King2016-09-294-12/+17
|\ \ | | | | | | | | | | | | | | | 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: Decide earlier whether to test resourcesBrad King2016-09-281-11/+12
| |/ | | | | | | Provide a CMake_TEST_RESOURCES variable storing the decision.
* | 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: Update ModuleNotices test for new noticeBrad King2016-09-271-18/+5
|
* Simplify CMake per-source license noticesBrad King2016-09-2721-260/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace CMake per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing". The online URL also handles cases of modules being copied out of our source into other projects, so we can drop our notices about replacing links with full license text. Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority of the replacements mechanically. Manually fix up shebang lines and trailing newlines in a few files. Manually update the notices in a few files that the script does not handle.
* 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.
* | Merge topic 'cmake-server-basic-commands'Brad King2016-09-274-3/+222
|\ \ | | | | | | | | | | | | | | | | | | | | | 89043267 server-mode: Add command to compute the build system 0a8ad670 server-mode: Add a configure command 544f65f4 server-mode: Set global configuration of cmake via a command 82104cc7 server-mode: Query global configuration of cmake via a command
| * | server-mode: Set global configuration of cmake via a commandTobias Hunger2016-09-262-4/+139
| | | | | | | | | | | | | | | "setGlobalSettings" can be used to change settings reported by "globalSettings" command.
| * | server-mode: Query global configuration of cmake via a commandTobias Hunger2016-09-264-3/+87
| | | | | | | | | | | | | | | | | | | | | Add "globalSettings" command that returns: * Return capability information * Return currently used generator/extra generator * Return a range of flags for debug/trace/etc.
* | | Ninja: Add source location as include directory for preprocessed filesNils Gladitz2016-09-273-0/+10
|/ / | | | | | | | | | | | | | | | | | | | | Fortran INCLUDE statements are not handled by the preprocessor. Since the location of the preprocessed file is distinct from the original source file explicitly add the source file's directory as an include path in the actual compile step (not the preprocessing step) so INCLUDE can find it. Closes: #16332
* | Merge topic 'revert-cpack-deb-package-description-fallback'Brad King2016-09-264-10/+7
|\ \ | | | | | | | | | | | | 1ef45a30 Revert "CPack/DEB: Make package description variable precedence match RPM"
| * | Revert "CPack/DEB: Make package description variable precedence match RPM"Domen Vrankar2016-09-244-10/+7
| | | | | | | | | | | | | | | This reverts commit 332b089ad213a1aa89658fffd8f68c9064c6d3db as multiline descriptions require special formatting.
* | | Merge topic 'xcode-swift-version'Brad King2016-09-261-0/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | b35568f3 Xcode: Add option to set Swift language version 49d50ad4 Xcode: Port rudimentary Swift support to Xcode 8
| * | | Xcode: Add option to set Swift language versionBrad King2016-09-261-0/+4
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a new CMAKE_Swift_LANGUAGE_VERSION variable to specify the SWIFT_VERSION attribute in a generated Xcode project. Ideally this would be a `<LANG>_STANDARD` property but since Swift support is very minimal we should reserve that property for more complete treatment later. Issue: #16326
* | | Tests: Add Fortran submodule testsBrad King2016-09-235-0/+95
|/ / | | | | | | | | Co-Author: Damian Rouson <damian@sourceryinstitute.org> Issue: #16234
* | Merge topic 'test-Fortran-split'Brad King2016-09-2324-89/+96
|\ \ | | | | | | | | | | | | | | | | | | | | | eb8cd356 Tests: Split Fortran module testing into separate FortranModules test a41c8724 Tests: Check if Fortran compiler supports F90 1ec5097d Tests: Use more generic variables in Fortran test d7bd2efb Tests: Remove trailing line from Fortran/External
| * | Tests: Split Fortran module testing into separate FortranModules testBrad King2016-09-2223-86/+91
| | | | | | | | | | | | | | | The main Fortran test is not granular enough. Split some into another test.
| * | Tests: Check if Fortran compiler supports F90Brad King2016-09-221-0/+3
| | |
| * | Tests: Use more generic variables in Fortran testBrad King2016-09-221-10/+10
| | |
| * | Tests: Remove trailing line from Fortran/ExternalBrad King2016-09-221-1/+0
| | |
* | | 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-224-1/+4
| |/ |/| | | | | | | | | | | | | 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.