summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* Tests: Speed up RunCMake.CheckModules testBrad King2014-02-063-1/+5
| | | | | | Enable the C and CXX languages only in the test cases that really need them. In the failure cases we do not get far enough to really use the languages, so skip enabling them.
* QtAutogen: Only add source files to the target if AUTORCC is ON.Stephen Kelly2014-02-052-1/+12
| | | | | | | | | | | | The qtx_add_resources() macro adds the resource file to the output list to maintain file-level dependencies. Having the qrc file in a target sources is a precondition for AUTORCC to function. When processing the source files of a target, only add the generated qrc_<file>.cpp to the target sources if AUTORCC is ON. This avoids pre-porting conflict with the macro. Reported-by: Micha Hergarden
* Merge topic 'fix-Qt-autogen'Brad King2014-02-046-4/+21
|\ | | | | | | | | | | 6053ce22 QtAutogen: Make uic work even when the source is in a subdir. 1fc9ecfa FindQt4: Make AUTOMOC work regardless which order Qt 4/5 is found.
| * QtAutogen: Make uic work even when the source is in a subdir.Stephen Kelly2014-02-044-2/+2
| | | | | | | | | | | | Modify the includedUis to store the path to the file which includes the ui file. Reuse that path to generate the output file from the uic process.
| * FindQt4: Make AUTOMOC work regardless which order Qt 4/5 is found.Stephen Kelly2014-01-292-2/+19
| | | | | | | | | | | | | | | | | | Commit 321e348e (QtAutogen: Use Qt 4 IMPORTED targets to find executable locations., 2014-01-24) attempted to fix this problem, but only solved it for a particular ordering of find_package for Qt 4 and Qt 5. Add a test to ensure that it works with both orderings.
* | Merge topic 'fix-visibility-inlines-hidden'Brad King2014-02-035-0/+63
|\ \ | | | | | | | | | | | | efdcebdd VisibilityInlinesHidden: only apply -fvisibility-inlines-hidden to C++ sources
| * | VisibilityInlinesHidden: only apply -fvisibility-inlines-hidden to C++ sourcesNils Gladitz2014-02-015-0/+63
| | |
* | | Merge topic 'project-version-variables'Brad King2014-02-0337-0/+167
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 41d2f2c4 write_basic_package_version_file: use PROJECT_VERSION 7e142c5a project: Manage VERSION variables 16d040c9 project: Add optional LANGUAGES keyword 00007dcc Help: Format project command and variable documentation
| * | project: Manage VERSION variablesBrad King2014-01-2926-0/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach the project() command to set variables {PROJECT,<PROJECT-NAME>}_VERSION{,_MAJOR,_MINOR,_PATCH,_TWEAK} holding the project version number and its components. Add project() command option "VERSION" to specify the version explicitly, and default to the empty string when it is not given. Since this clears variables when no VERSION is given, this may change behavior for existing projects that set the version variables themselves prior to calling project(). Add policy CMP0048 for compatibility. Suggested-by: Alex Neundorf <neundorf@kde.org>
| * | project: Add optional LANGUAGES keywordBrad King2014-01-2912-0/+29
| | | | | | | | | | | | | | | | | | | | | Teach the project() command to recognize an optional "LANGUAGES" keyword after the project name and prior to the list of languages. Do not allow multiple copies of the keyword. If the keyword is specified and no languages are listed, imply NONE.
* | | Merge topic 'fix-Qt-autogen'Brad King2014-01-298-10/+84
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f7ae1d8a QtAutogen: Short-circut some logic when moc is not available. 4b989d5f QtAutogen: Separate source file processing from AUTOMOC. c48d877d QtAutogen: Make some methods appropriately file-static. 394e86df QtAutogen: Fix autouic target options in the presence of a config. 964d7f2a QtAutogen: Remove unused variables. 0d934efd QtAutogen: Remove read of SKIP_AUTOUIC target property. 321e348e QtAutogen: Use Qt 4 IMPORTED targets to find executable locations. e96683b0 Qt4: Use IMPORTED executable names with custom commands. e6182f5d Qt4: Create IMPORTED executable targets for all Qt executables.
| * | QtAutogen: Short-circut some logic when moc is not available.Stephen Kelly2014-01-284-0/+71
| | | | | | | | | | | | | | | This is the case when AUTOMOC is false. This prevents creating rules to moc the files in the absense of moc.
| * | QtAutogen: Use Qt 4 IMPORTED targets to find executable locations.Stephen Kelly2014-01-284-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid using the moc from Qt 5 with Qt 4 based targets. Moc generates a version check to ensure that such generated code does not compile. The Qt4And5Automoc unit test should have been testing this, but it was not because the test was broken. In that unit test, moc was run on trivial files which have no significant content, and in particular no Q_OBJECT macro. Therefore moc was generating empty files which do not even contain the version check. Fix this by generating files for input to moc at cmake time.
* | | Merge topic 'ExternalProject-git-submodules'Brad King2014-01-291-0/+16
|\ \ \ | | | | | | | | | | | | | | | | 819015ef ExternalProject: Add option GIT_SUBMODULES
| * | | ExternalProject: Add option GIT_SUBMODULESGereon Kremer2014-01-281-0/+16
| | |/ | |/| | | | | | | | | | This option allows to filter the submodules that are checked out. Add a simple testcase for GIT_SUBMODULES option passing an empty list.
* | | Cygwin: Avoid legacy warnings in RunCMake.CMP004[1235] testsBrad King2014-01-284-4/+4
|/ / | | | | | | | | | | 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.
* | Merge topic 'ctest-update-p4-unknown-revision'Brad King2014-01-271-1/+3
|\ \ | | | | | | | | | | | | 243cfc2f ctest_update: Handle P4 unknown revisions more robustly
| * | ctest_update: Handle P4 unknown revisions more robustlyPedro Navarro2014-01-221-1/+3
| | | | | | | | | | | | | | | | | | Mark unknown revisions as such and fail instead of reporting revision 0. Otherwise CTest reports massive file updates between revisions when the server timeouts while trying to fetch the current revision number.
* | | Merge topic 'robust-ep-download-verify'Brad King2014-01-273-0/+27
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | a432b93b file DOWNLOAD: Display the curl result status when a hash mismatch occurs. 1cb9ef81 file DOWNLOAD: Test non-zero return status. f73f0fb3 file DOWNLOAD: Add test for bad hash. b5e2265f ExternalProject: Reattempt download when verification fails.
| * | file DOWNLOAD: Test non-zero return status.Matt McCormick2014-01-161-0/+13
| | |
| * | file DOWNLOAD: Add test for bad hash.Matt McCormick2014-01-162-0/+14
| | |
* | | Allow projects to specify extra inputs to CMakeBrad King2014-01-215-0/+27
| | | | | | | | | | | | | | | | | | | | | Define a new 'CMAKE_CONFIGURE_DEPENDS' directory property that projects can use to specify input files to the CMake configuration process. Extend the RunCMake.Configure test to verify that the build system re-runs CMake when this input changes.
* | | Add test case to verify CMake does not re-run on first buildBrad King2014-01-213-0/+23
| | | | | | | | | | | | | | | | | | Extend the RunCMake.Configure with a case to verify that the CMake configuration process does not immediately re-run the first time that the generated build system is invoked.
* | | cmake: Add '-E sleep' commandBrad King2014-01-217-0/+12
| |/ |/| | | | | Add a cmake command-line interface to provide a cross-platform 'sleep'.
* | cmake: Improve '-E create_symlink' edge case handling (#14713)Brad King2014-01-208-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | The logic added by commit ffc0b5e4 (Overwrite the symlink if it already exists, 2007-02-15) does not recognize and remove existing broken links before replacing them. Improve the logic to remove any existing destination file or link (but not directory). On failure, report an error message explaining why the existing path could not be removed or the new one could not be created. Add a RunCMake.CommandLine test to cover 'cmake -E' cases. Start with test cases covering 'cmake -E create_symlink' behavior on UNIX platforms.
* | Tests/RunCMake: Add function to run a specified command-lineBrad King2014-01-202-11/+32
| | | | | | | | | | | | | | Add a 'run_cmake_command' function that can be used by tests to run a given command-line and check the results rather than always running a CMake configuration process. This can be used in the future to test 'cmake -E' for example.
* | Tests/RunCMake: Move documentation to a README.rstBrad King2014-01-202-36/+52
|/
* allow to mark a test as "Not Run" with a specific return code (#8466)Rolf Eike Beer2014-01-144-0/+49
|
* Merge topic 'missing-dependency-error'Brad King2014-01-1314-0/+53
|\ | | | | | | | | 0bf6f13b AddDependencies: new policy requires dependencies to exist
| * AddDependencies: new policy requires dependencies to existNils Gladitz2014-01-1214-0/+53
| | | | | | | | | | Added new policy CMP0046 which requires dependencies added by add_dependencies() to actually exist.
* | Tests: Fix find-package mode test.Stephen Kelly2014-01-111-2/+2
|/ | | | | | | | The all target was depending on the clean and pngtest targets, but when running the tests with -jN, those can be executed out of order. Make the main.o target depend on the clean target instead to fix this.
* Merge topic 'remove-duplicate-file'Brad King2014-01-101-142/+0
|\ | | | | | | | | fcd5531 Tests: Remove .orig file.
| * Tests: Remove .orig file.Stephen Kelly2014-01-101-142/+0
| | | | | | | | | | Introduced in commit be0458c5 (InstallRules: added new variable to disable generation of install rules, 2013-12-25).
* | InterfaceLibrary: Add test requiring MAP_IMPORTED_CONFIG whitelistingStephen Kelly2014-01-092-0/+28
|/ | | | | The target properties with this prefix are whitelisted for INTERFACE_LIBRARY targets.
* Merge topic 'policies'Brad King2014-01-0934-0/+178
|\ | | | | | | | | | | | | | | | | 73e9340 get_target_property: Error on non-existent target. ab9f58f FindQt4: Ensure target exists before calling get_target_property. 37ebeb9 FindQt4: Fix use of get_target_property to use actual target name. 6aabb6a Genex: Use case-sensitive comparison for COMPILER_ID. 5bb53f6 cmTarget: Deprecate COMPILE_DEFINITIONS_ properties with a policy.
| * get_target_property: Error on non-existent target.Stephen Kelly2014-01-0813-0/+43
| | | | | | | | Introduce policy CMP0045 to control this behavior.
| * Genex: Use case-sensitive comparison for COMPILER_ID.Stephen Kelly2014-01-088-0/+81
| |
| * cmTarget: Deprecate COMPILE_DEFINITIONS_ properties with a policy.Stephen Kelly2014-01-0815-0/+54
| |
* | Merge topic 'optional-install'Brad King2014-01-0917-0/+244
|\ \ | | | | | | | | | | | | be0458c InstallRules: added new variable to disable generation of install rules
| * | InstallRules: added new variable to disable generation of install rulesNils Gladitz2014-01-0817-0/+244
| | | | | | | | | | | | | | | | | | The boolean variable CMAKE_SKIP_INSTALL_RULES allows disabling generation of install rules for projects which don't want them.
* | | Help: Ensure that target-policies are added to the documentation.Stephen Kelly2014-01-071-0/+5
| |/ |/| | | | | The two most-recently-added policies were not tested for.
* | Genex: Add a nullary form for CONFIGStephen Kelly2014-01-074-11/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | This is consistent with other similar expressions such as PLATFORM_ID, and makes the CONFIGURATION expression obsolete. Fix an off-by-one error in GeneratorExpressionContent::EvaluateParameters exposed by a unit test. Remove the test for 'bad' nullary use of $<CONFIG>. Add a unit test to verify that $<CONFIG> and $<CONFIGURATION> have the same value.
* | CompatibleInterface: Test debugging of not-set property.Stephen Kelly2014-01-072-1/+8
| |
* | Tests: simplify Qt4 target usageStephen Kelly2014-01-071-4/+1
| | | | | | | | | | This content was copied from another test where both the Core and Gui targets are used.
* | Test: Remove obsolete commented code.Stephen Kelly2014-01-071-2/+0
| | | | | | | | | | This should not have survived in commit a247911a (Tests: Don't read the LOCATION property from build targets., 2013-11-18).
* | Genex: Make EQUAL support upper case binary literalsStephen Kelly2014-01-062-9/+13
| | | | | | | | | | | | | | | | As C++11, python, D and java do. http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3472.pdf Add test for uppercase hex literals.
* | Don't allow include() of export(EXPORT) file at configure time.Stephen Kelly2014-01-064-0/+14
| | | | | | | | | | | | | | | | | | As a new feature it does not need to participate in CMP0024. Store cmExportBuildFileGenerator instances which correspond to the export(EXPORT) signature in a second map which does not own the pointers. This avoids the need to add cmExportBuildFileGenerator and dependencies to the bootstrap system.
* | cmTarget: Fix system include annotation propagation.Stephen Kelly2014-01-061-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Direct users of IMPORTED targets treat INTERFACE_INCLUDE_DIRECTORIES as SYSTEM, after commit a63fcbcb (Always consider includes from IMPORTED targets to be SYSTEM., 2013-08-29). It was intended that transitive use of an IMPORTED target would have the same behavior, but that did not work. The implementation processed only direct dependencies in cmTarget::FinalizeSystemIncludeDirectories. Implement transitive evaluation of dependencies by traversing the link interface of each target in the link implementation.
* | add_library: Disallow invalid signatures for INTERFACE_LIBRARY.Stephen Kelly2014-01-066-1/+114
| | | | | | | | | | Document the valid signatures. Add a test for the IMPORTED GLOBAL signature.
* | cmTarget: Enable convenient include dir handling for INTERFACE_LIBRARY.Stephen Kelly2014-01-064-1/+24
| | | | | | | | | | Make the CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE variable affect INTERFACE_LIBRARY targets.