summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'fix-command-rename'Brad King2015-07-131-0/+7
|\ | | | | | | | | d4f032b5 cmState: Restore renamed commands on cleanup.
| * cmState: Restore renamed commands on cleanup.Stephen Kelly2015-07-121-0/+7
| | | | | | | | | | | | | | | | | | | | | | Commit v3.3.0-rc1~196^2~7 (cmake: Simplify command clean up loop., 2015-04-12) introduced a bug that built-in commands which were renamed no longer had their original name restored when cleanup is performed between configure runs. Check for that and restore the commands with their original name. Extend the complex test for this. That test is run by ctest with the --build-two-config command line option.
| * Merge branch 'fortran-module-preprocessor-defs' into releaseBrad King2015-07-063-1/+8
| |\
| * \ Merge branch 'fix-target_link_libraries-wrong-dir' into releaseBrad King2015-06-256-0/+11
| |\ \
| * \ \ Merge branch 'fix-function-missing-end' into releaseBrad King2015-06-227-0/+20
| |\ \ \
* | | | | Add generator expression support to OUTPUT_NAME target propertyRobert Goulet2015-07-094-3/+13
| | | | |
* | | | | Merge topic 'CheckCompilerFlag-do-not-use-FLAGS'Brad King2015-07-091-0/+7
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | a639689c Check*CompilerFlag: Revert to previous method used to pass flags (#15641)
| * | | | | Check*CompilerFlag: Revert to previous method used to pass flags (#15641)Brad King2015-07-081-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v3.3.0-rc1~397^2 (Check*CompilerFlag: Refactor method used to pass flags, 2015-02-24) these check modules pass the flags to the compiler front-end during linking as well as during compilation. This breaks checks for flags like '-x c++' that are meant only for the compilation step. Revert the change and add a test covering a compiler-only flag.
* | | | | | Merge topic 'empty-LINK_LIBRARIES'Brad King2015-07-094-0/+14
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7aa9e80e set_property: Fix crash when setting LINK_LIBRARIES to nothing
| * | | | | | set_property: Fix crash when setting LINK_LIBRARIES to nothingBrad King2015-07-084-0/+14
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We use a special dedicated structure to store the LINK_LIBRARIES target property. Do not try to construct a string from a NULL value. Instead leave the property structure empty when no value is given. Reported-by: Ghyslain Leclerc <ghleclerc@gmail.com>
* | | | | | Merge topic 'string-append'Brad King2015-07-085-0/+67
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2b18cdca string: add APPEND subcommand
| * | | | | | string: add APPEND subcommandDaniel Pfeifer2015-07-075-0/+67
| | | | | | |
* | | | | | | Merge topic 'add-apple-swift-language'Brad King2015-07-0819-0/+69
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bf112531 Add rudimentary support for the Apple Swift language with Xcode
| * | | | | | | Add rudimentary support for the Apple Swift language with XcodeBrad King2015-07-0619-0/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow the `Swift` language to be enabled with the Xcode generator for Xcode >= 6.1. Reject it on other generators and with older Xcode versions. Since Apple is the only vendor implementing the language right now, the compiler id can be just `Apple`.
* | | | | | | | Merge topic 'auto_export_dll_symbols'Brad King2015-07-0812-0/+138
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8f86407c Windows: Optionally generate DLL module definition files automatically 069aa93b bindexplib: Add support for "/bigobj" format objects 61bbbdcf bindexplib: Fix treatment of some symbols de70c922 bindexplib: Teach DumpFile to return errors 8ea69dfe bindexplib: Build source as part of CMakeLib 2963cb2a bindexplib: Wrap long lines 4ff09893 bindexplib: Drop code that CMake does not need 7de8276c bindexplib: Add copyright/license notice block 65086ad7 bindexplib: Import original implementation from CERN
| * | | | | | | | Windows: Optionally generate DLL module definition files automaticallyBill Hoffman2015-07-0612-0/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create target property WINDOWS_EXPORT_ALL_SYMBOLS to automatically generate a module definition file from MS-compatible .obj files and give it to the linker in order to export all symbols from the .dll part of a SHARED library.
* | | | | | | | | Merge topic 'ExternalProject-USES_TERMINAL'Brad King2015-07-073-0/+143
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e4947639 ExternalProject: Added new USES_TERMINAL options
| * | | | | | | | | ExternalProject: Added new USES_TERMINAL optionsJames Johnston2015-07-063-0/+143
| | |_|/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added new USES_TERMINAL option to the ExternalProject_Add_Step function. This option passes USES_TERMINAL to the underlying add_custom_command call so that the Ninja console pool is used. Also, corresponding new USES_TERMINAL_<step> options were added to the ExternalProject_Add function. Justification: if using Ninja with a CMake superbuild, it's often desirable to limit the superbuild to ONE sub-Ninja process at a time to avoid oversubscribing the CPU. Using the console pool also makes it easy to monitor the progress of the sub-Ninja process. Independent USES_TERMINAL_<step> arguments are passed to ExternalProject_Add instead of one USES_TERMINAL argument that controls everything. Users may wish to run some steps in parallel but not others (e.g. parallelize configure but not build).
* | | | | | | | | Merge topic 'refactor-cmListFileBacktrace'Brad King2015-07-0713-16/+48
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d2475bb5 cmListFileBacktrace: Implement in terms of cmState::Snapshot. 238aac23 cmListFile: Remove FilePath member from cmListFileContext. 329098a9 cmMakefile: Set the FilePath on the frame from the cmState. 91158a33 cmMakefile: Create intermediate variables for snapshot frames. 821f91d6 cmMakefile: Create a scoped context for parsing listfiles. 30d44efa cmMakefile: Access the execution list file from the cmState. 6361f680 cmState: Store execution context. 94704d75 cmState: Add GetCallStackParent method. a8e54460 cmState: Store snapshots for more different types. dbafb015 cmMakefile: Split CallStack into two pieces. 27ff19a9 cmLinkedTree: Add operator* to the iterator.
| * | | | | | | | | cmMakefile: Create a scoped context for parsing listfiles.Stephen Kelly2015-07-0613-16/+48
| | |_|/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | Update the Syntax tests to check for updated/improved backtraces.
* | | | | | | | | Merge topic 'fortran-module-preprocessor-defs'Brad King2015-07-073-1/+8
|\ \ \ \ \ \ \ \ \ | |_|/ / / / / / / |/| | | | | | | / | | |_|_|_|_|_|/ | |/| | | | | | 0a203db5 Fortran: Fix passing of preprocessor definitions to dependency scanner
| * | | | | | | Fortran: Fix passing of preprocessor definitions to dependency scannerBrad King2015-07-063-1/+8
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit v3.3.0-rc1~352^2~3 (Genex: Allow COMPILE_LANGUAGE when processing compile definitions, 2015-03-04) the name of the variable used to pass preprocessor definitions to the Fortran dependency scanner was changed to be per-language, but the actual dependency scanning code was not updated accordingly. Update the code and add a test case. Reported-by: Radovan Bast <radovan.bast@gmail.com>
* | | | | | | CTest: Show the number of tests for each label in the summaryBetsy McPhail2015-07-062-0/+30
| |/ / / / / |/| | | | |
* | | | | | Merge topic 'ctest-test-load'Brad King2015-07-0224-0/+147
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f62d301b ctest: Optionally avoid starting tests that may exceed a given CPU load 07c550ca cmCTestMultiProcessHandler: Refactor RUN_SERIAL implementation 8bf5a80b cmSystemTools: Add StringToULong helper dffc307c Tests: Teach RunCMake infrastructure to optionally timeout
| * | | | | | ctest: Optionally avoid starting tests that may exceed a given CPU loadBetsy McPhail2015-06-3023-0/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a TestLoad setting to CTest that can be set via a new --test-load command-line option, CTEST_TEST_LOAD variable, or TEST_LOAD option to the ctest_test command. Teach cmCTestMultiProcessHandler to measure the CPU load and avoid starting tests that may take more than the spare load currently available. The expression <current_load> + <test_processors> <= <max-load> must be true to start a new test. Co-Author: Zack Galbreath <zack.galbreath@kitware.com>
| * | | | | | Tests: Teach RunCMake infrastructure to optionally timeoutBrad King2015-06-301-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a RunCMake_TEST_TIMEOUT option that tests can set to cause RunCMake to limit the time it waits for the child process to finish.
* | | | | | | enable_language: Allow CMakeDetermine<LANG>Compiler module to fail earlyBrad King2015-06-295-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the module reports a FATAL_ERROR, skip the rest of the steps to enable the language to avoid unnecessary following error messages.
* | | | | | | VS: Add /machine: flag to Librarian tool (#11240)Brad King2015-06-264-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a Windows resource (.rc) source file is included in a STATIC library, the VS "link" tool will process the compiled ".res" file and needs to know the target architecture. Without it, we may get a LNK4068 warning and possibly a LNK1112 error. Add /machine: to the default static library flags to give the link tool the information it needs.
* | | | | | | Merge topic 'fix-target_link_libraries-wrong-dir'Brad King2015-06-266-0/+11
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | / | | |_|_|_|/ | |/| | | | 30c2e1dd cmTarget: Fix diagnostic of target_link_libraries in wrong directory (#15626)
| * | | | | cmTarget: Fix diagnostic of target_link_libraries in wrong directory (#15626)Brad King2015-06-256-0/+11
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v3.3.0-rc1~62^2~5 (cmTarget: Store only cmListFileContext for CMP0023 handling, 2015-05-18) a call to target_link_libraries on a target that was defined in another (non-ancestor) directory crashes because no execution context is left active. Fix this by getting the execution context from the actual cmMakefile where the current target_link_libraries call takes place. Test this by verifying that such calls correctly produce an error diagnostic instead of crashing.
* | | | | Export: Escape exported property values when writing CMake language filesBrad King2015-06-242-0/+15
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | When writing export files, correctly encode property values that contain characters special to the CMake language parser. We must ensure that they parse correctly when loaded on the consuming side. Reported-by: Dan Liew <dan@su-root.co.uk>
* | | | Merge topic 'fix-function-missing-end'Brad King2015-06-237-0/+20
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | 5d85fb4f Fix assertion failure on unmatched function or macro
| * | | Fix assertion failure on unmatched function or macroBrad King2015-06-227-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fix in commit v3.2.3~3^2 (Fix assertion failure on unmatched foreach in function, 2015-05-18) broke handling of unmatched non-loop blocks because it assumed all function blockers removed during error unwinding were for loops, essentially switching the set of mishandled cases. The purpose of the loop block push/pop operations is to define a scope matching the lifetime of the loop function blockers. Since our function blockers already have the proper lifetime, simply move the push/pop operations to their constructor/destructor. Extend the RunCMake.Syntax test with a case covering this.
* | | | Merge topic 'qt-autogen-always-run'Brad King2015-06-237-0/+76
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | 2bf22a4b QtAutogen: Add comment explaining why rcc cannot use PRE_BUILD 0e346427 QtAutogen: Always run autogen step even when rcc is enabled (#15608)
| * | | | QtAutogen: Always run autogen step even when rcc is enabled (#15608)Brad King2015-06-197-0/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit v3.2.0-rc1~480^2 (QtAutogen: Regenerate qrc files if their input changes, 2014-09-17) the "cmake -E cmake_autogen" rule was switched from always running to running as a custom command with dependencies if rcc is enabled. This is not correct because automoc always needs to re-run. Switch back to always running the command.
* | | | | Tests: Don't hang when running Qt5Autogen built with GCC 5 (#15570).Stephen Kelly2015-06-211-2/+2
|/ / / / | | | | | | | | | | | | | | | | | | | | Since Qt 5.4.2, it is necessary to compile against Qt 5 with -fPIC and not -fPIE when using GCC 5. Not doing so results in a hanging test in this case, so use the PIC flag directly instead.
* | | | Merge topic 'GNUInstallDirs-special-prefixes'Brad King2015-06-1912-0/+158
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8bcec4d2 Help: Add notes for topic 'GNUInstallDirs-special-prefixes' c8bd37ec GNUInstallDirs: Add special cases for certain prefixes 5f30f175 GNUInstallDirs: Add test cases
| * | | | GNUInstallDirs: Add special cases for certain prefixesAlex Turbov2015-06-183-30/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach the module to handle SYSCONFDIR and LOCALSTATEDIR properly if CMAKE_INSTALL_PREFIX is set to `/` or `/usr` -- i.e. as expected by GNU Coding Standard (i.e. set SYSCONFDIR to `/etc` and `LOCALSTATEDIR` to `/var`). Also if CMAKE_INSTALL_PREFIX is set to /opt/pkg, `SYSCONFDIR` must be set to `/etc/opt/pkg` and `LOCALSTATEDIR` to `/var/opt/pkg` according to FHS.
| * | | | GNUInstallDirs: Add test casesBrad King2015-06-1812-0/+158
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a RunCMake.GNUInstallDirs test with cases covering various install prefixes. Hard-code the architecture information. Tolerate all platform-specific LIBDIR values. Currently the root prefix is not handled well, but verify the current behavior in the test anyway. This can be addressed with a future change. Inspired-by: Alex Turbov <i.zaufi@gmail.com>
* | | | | Merge topic 'cmake--build-dir'Brad King2015-06-167-0/+28
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 90ad087a cmake: Fix --build <relative-dir> for VS generators (#15609) 7195ec92 Tests: Extend RunCMake.CommandLine to cover --build with no arg
| * | | | | cmake: Fix --build <relative-dir> for VS generators (#15609)Brad King2015-06-115-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The VS >= 10 generators need to parse the .sln file from the build directory to locate targets in subdirectories. This occurs after we change the working directory to the build tree. If a relative directory other than "." was given then we would change to it and also refer to the .sln file location with it. Fix this by converting the build tree to a full path always. This will also give a more informative error message when the directory does not exist.
| * | | | | Tests: Extend RunCMake.CommandLine to cover --build with no argBrad King2015-06-113-0/+4
| |/ / / /
* | | | | Merge topic 'cpack-rpm-and-deb-runcmake-tests'Brad King2015-06-1621-28/+392
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5f61ed99 Tests: Move RunCMake.CPackRPM case into RunCMake.CPack_RPM test e726fc02 Tests: Add RunCMake tests for CPack{Deb,RPM}
| * | | | | Tests: Move RunCMake.CPackRPM case into RunCMake.CPack_RPM testDomen Vrankar2015-06-157-28/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move PARTIALLY_RELOCATABLE_WARNING test to the new common CPack test script structure to have all tests in one place as well as additional benefit of having some more checks done during test execution.
| * | | | | Tests: Add RunCMake tests for CPack{Deb,RPM}Domen Vrankar2015-06-1516-0/+386
| | | | | | | | | | | | | | | | | | | | | | | | Add script structure for easier addition of new CPack related tests.
* | | | | | Merge topic 'compiler-launcher'Brad King2015-06-1513-0/+49
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 698f7597 Add options to launch the compiler through tools like ccache or distcc
| * | | | | | Add options to launch the compiler through tools like ccache or distccBill Hoffman2015-06-1513-0/+49
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a <LANG>_COMPILER_LAUNCHER target property (initialized by a CMAKE_<LANG>_COMPILER_LAUNCHER variable) to specify a compiler launcher tool. This will supersede the CMAKE_<LANG>_COMPILER_ARG1 approach to using such tools. The old approach set CMAKE_<LANG>_COMPILER to the launcher tool while the new approach leaves this variable set to the actual compiler. Implement this property for Makefile and Ninja generators. It cannot be implemented for VS or Xcode generators as the IDE build tools offer no such hooks.
* | | | | | ctest_update: Fix RETURN_VALUE on VCS tool failure (#15610)Brad King2015-06-115-0/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make RETURN_VALUE report -1 if the update command failed as the documentation claims. Also avoid reporting a ctest script-level failure if the update command fails because we still correctly administered the update step.
* | | | | | Tests: Teach CTest.Update* tests to check ctest_update return codeBrad King2015-06-111-2/+10
| | | | | |
* | | | | | Tests: Simplify CTest.UpdateGIT QUIET mode testBrad King2015-06-112-13/+4
| |_|/ / / |/| | | | | | | | | | | | | | | | | | | Parameterize the dashboard script generation to configure custom content. Also move state cleanup from previous test back to its block.