summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'autogen-updates'Brad King2016-04-2219-0/+234
|\ | | | | | | | | | | | | | | | | | | | | 84946c73 Tests: QtAutogen: Same source name in different directories test 9c6fa684 Autogen: Generate qrc_NAME.cpp files in subdirectories 488ea8c7 Autogen: Generate not included moc files in subdirectories (#12873) 66caae45 Autogen: Check added for name collisions of generated qrc_NAME.cpp files 663d093d Autogen: Check added for name collisions of generated ui_NAME.h files 8295d437 Autogen: Check added for name collisions of generated moc files d350308a Help: Improve AUTOMOC documentation layout
| * Tests: QtAutogen: Same source name in different directories testSebastian Holtermann2016-04-2219-0/+234
| | | | | | | | | | | | | | The test features multiple .cpp and .qrc files with the same name in different subdirectories. This requires AUTOMOC and AUTORCC to generate files with names that respect the path information of the source files.
* | FindBoost: Define Boost::boost for all boost versionsRoger Leigh2016-04-194-0/+30
|/
* cmListFileBacktrace: Refactor storage to provide efficient value semanticsBrad King2016-04-187-10/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v3.4.0-rc1~321^2~2 (Genex: Store a backtrace, not a pointer to one, 2015-07-08) we treat cmListFileBacktrace instances as lightweight values. This was true at the time only because the backtrace information was kept in the cmState snapshot hierarchy. However, that forced us to accumulate a lot of otherwise short-lived snapshots just to have the backtrace fields available for reference by cmListFileBacktrace instances. Recent refactoring made backtrace instances independent of the snapshot hierarchy to avoid accumulating short-lived snapshots. This came at the cost of making backtrace values heavy again, leading to lots of string coying and slower execution. Fix this by refactoring cmListFileBacktrace to provide value semantics with efficient shared storage underneath. Teach cmMakefile to maintain its call stack using an instance of cmListFileBacktrace. This approach allows the current backtrace to be efficiently saved whenever it is needed. Also teach cmListFileBacktrace the notion of a file-level scope. This is useful for messages about the whole file (e.g. during parsing) that are not specific to any line within it. Push the CMakeLists.txt scope for each directory and never pop it. This ensures that we always have some context information and simplifies cmMakefile::IssueMessage. Push/pop a file-level scope as each included file is processed. This supersedes cmParseFileScope and improves diagnostic message context information in a few places. Fix the corresponding test cases to expect the improved output.
* Merge topic 'try_compile-config-flags'Brad King2016-04-133-0/+21
|\ | | | | | | | | | | bd581a37 try_compile: Honor CMAKE_<LANG>_FLAGS_<CONFIG> changes (#16054) 82ef90fc cmCoreTryCompile: Factor out config lookup for re-use
| * try_compile: Honor CMAKE_<LANG>_FLAGS_<CONFIG> changes (#16054)Brad King2016-04-113-0/+21
| | | | | | | | | | | | | | | | In the `try_compile` source file signature we propagate the caller's value of `CMAKE_<LANG>_FLAGS` into the test project. Extend this to propagate `CMAKE_<LANG>_FLAGS_<CONFIG>` too instead of always using the default value in the test project. This will be useful, for example, to allow the MSVC runtime library to be changed (e.g. `-MDd` => `-MTd`).
* | Add options to run clang-tidy with the compilerDaniel Pfeifer2016-04-1315-1/+62
|/ | | | | | Create a <LANG>_CLANG_TIDY target property (initialized by a CMAKE_<LANG>_CLANG_TIDY variable) to specify a clang-tidy command line to be run along with the compiler.
* Merge topic 'test-RunCMake.BuildDepends-filesystem-workaround'Brad King2016-04-111-0/+1
|\ | | | | | | | | f5e79004 Tests: Work around filesystem timestamp bugs in RunCMake.BuildDepends
| * Tests: Work around filesystem timestamp bugs in RunCMake.BuildDependsBrad King2016-04-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | The Custom-Symbolic-and-Byproduct case fails strangely on some filesystems used by our nightly testing. Somehow on the first build the `use-byproduct` output ends up with a timestamp older than `gen-byproduct-stamp` even though the build log clearly shows them build in the correct order (and must according to build system dependencies). Work around this problem by adding an extra delay before building `use-byproduct`. Tested-by: Gerhard Grimm <gerhard.grimm@detec.com>
* | Merge topic 'ninja-restat-custom-command-byproducts'Brad King2016-04-082-0/+29
|\ \ | |/ | | | | | | | | add7abc8 Ninja: Restat custom command byproducts even with a SYMBOLIC output (#16049) ff805113 Ninja: Fix detection of custom command symbolic outputs
| * Ninja: Restat custom command byproducts even with a SYMBOLIC output (#16049)Brad King2016-04-052-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The change in commit v3.5.0-rc1~198^2 (Ninja: Always re-run custom commands that have symbolic dependencies, 2015-11-19) broke the byproducts feature added by commit v3.2.0-rc1~340^2~2 (Add an option for explicit BYPRODUCTS of custom commands, 2014-11-13) when SYMBOLIC outputs also appear. This case occurs with AUTORCC-generated custom targets because the output is SYMBOLIC (to always run) and the generated file is a byproduct (for restat so dependents do not run unnecessarily). The two use cases conflict because Ninja does not support per-output restat. Favor restat whenever byproducts are present because it is required for byproducts to work correctly. In use cases where we want an always-run chain we simply will not be able to also use byproducts.
* | Merge topic 'branch_coverage_glob'Brad King2016-04-073-0/+4
|\ \ | | | | | | | | | | | | | | | 8ea1b0df CTestCoverageCollectGCOV: Improve documentation 425d7646 CTestCoverageCollectGCOV: Honor CTEST_EXTRA_COVERAGE_GLOB
| * | CTestCoverageCollectGCOV: Honor CTEST_EXTRA_COVERAGE_GLOBZack Galbreath2016-04-073-0/+4
| | | | | | | | | | | | | | | | | | | | | Teach CTestCoverageCollectGCOV to honor the CTEST_EXTRA_COVERAGE_GLOB variable. When this variable is set, this module will glob for matching source files that were not covered and include them in the resulting tar file.
* | | Merge topic 'fix-target-alias-in-subdir'Brad King2016-04-051-0/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | 0e44f489 Rename local target lookup methods to clarify purpose bc30f8b5 Fix lookup of an ALIAS target outside aliased target's directory (#16044)
| * | | Fix lookup of an ALIAS target outside aliased target's directory (#16044)Brad King2016-04-011-0/+5
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit v3.5.0-rc1~272^2~11 (cmTarget: Implement ALIAS in terms of name mapping, 2015-10-25) accidentally introduced logic that assumes ALIAS targets always reference targets in their own directory. Fix this and add a test case. The configure-step fix is that `cmMakefile::FindTarget` should not consider aliases. The purpose of this method is just to look up targets local to a directory. Since ALIAS and normal targets share a namespace we know a locally defined target will never collide with an ALIAS target anyway. The method has 3 call sites, and this change is safe for all of them: * `cmInstallCommand::HandleTargetsMode`: Rejects aliases before the call. * `cmFLTKWrapUICommand::FinalPass`: Should never have considered aliases. * `cmMakefile::FindTargetToUse`: Falls back to a global lookup anyway. The generate-step fix is that `cmLocalGenerator::FindGeneratorTarget` should not consider aliases. This method is the generate-step equivalent to the above. The method has 2 call sites, and this change is safe for both of them: * `cmInstallTargetGenerator::Compute`: Never uses an alias target name. * `cmLocalGenerator::FindGeneratorTargetToUse`: Falls back to global lookup. Reported-by: Matteo Settenvini <matteo@member.fsf.org>
| * | Merge branch 'fix-repeat-pkg-config' into releaseBrad King2016-03-211-5/+6
| |\ \
* | \ \ Merge topic 'cpack-rpm-external-symlink-handling'Brad King2016-04-012-0/+6
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | eae4eef0 CPack/RPM external symlink handling
| * | | | CPack/RPM external symlink handlingDomen Vrankar2016-04-012-0/+6
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | Symbolic links that point to external location no longer cause cmake to fail with string out of bounds error but are instead packaged as non relocatable symlinks and print out a warning message.
* | | | PushCheckStateTest: Update test to check CMAKE_EXTRA_INCLUDE_FILESJean-Christophe Fillion-Robin2016-03-311-0/+5
| | | |
* | | | PushCheckStateTest: Test all variables managed by the moduleJean-Christophe Fillion-Robin2016-03-311-9/+43
| | | |
* | | | PushCheckStateTest: Fix syntax warningJean-Christophe Fillion-Robin2016-03-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit fixes the following warning originally introduced in 1325260 (Add macros cmake_push/pop_check_state() as discussed on the list.) Argument not separated from preceding token by whitespace.
* | | | Fix spelling typos in comments and documentation (#16037)Felix Geyer2016-03-291-1/+1
|/ / / | | | | | | | | | | | | The Debian package checker tool (lintian) detected several typos in CMake.
* | | cpack rpm setting of defattrDomen Vrankar2016-03-282-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | RPM supports setting of default user, group, file and directory permissions that will be applied for files in package unless specified per file/dir with attr setting This is related to bug report 14714
* | | Tests: Fix GTK2Components.gtkmm test with sigc++ >= 2.5.1Brad King2016-03-251-0/+5
| | | | | | | | | | | | | | | | | | | | | FindGTK2 adds compile features to GTK2::sigc++ so that clients will compile as C++11 or above. However, our test case covers using just the library list variables instead of the imported targets. Fix this case by propagating the compile features manually.
* | | Merge topic 'cmake-depend-in-project-only'Brad King2016-03-245-0/+29
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | b06e17da Help: Add notes for topic 'cmake-depend-in-project-only' 52540245 Tests: Add test for CMAKE_DEPENDS_IN_PROJECT_ONLY variable b1e1aa1e Makefile: Optionally scan only source and build trees for dependencies
| * | | Tests: Add test for CMAKE_DEPENDS_IN_PROJECT_ONLY variableBrad King2016-03-235-0/+29
| | | |
* | | | Merge topic 'vs-startup-project'Brad King2016-03-2410-1/+54
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ad140c6e VS: Put ALL_BUILD in the PREDEFINED_TARGETS_FOLDER f069be05 VS: Fix default target support for targets nested inside a folder c05ea485 VS: Improve unit test macros 78ec0461 VS: Add option to choose the `.sln` startup project (#15578)
| * | | | VS: Fix default target support for targets nested inside a folderTaylor Braun-Jones2016-03-234-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | It's not actually the first target in a `.sln` file that is treated as the default startup project, but rather the first fully defined target.
| * | | | VS: Improve unit test macrosTaylor Braun-Jones2016-03-223-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | | Change `getFirstProject` macro to more flexible version `getProjectNames`
| * | | | VS: Add option to choose the `.sln` startup project (#15578)Davy Durham2016-03-227-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a `VS_STARTUP_PROJECT` directory property to specify the project that should be placed first in the `.sln` file so that it will be selected as the default startup project. Co-Author: Taylor Braun-Jones <taylor.braunjones@avigilon.com>
* | | | | Merge topic 'timeout_after_match'Brad King2016-03-2210-0/+53
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | de7afd29 Help: Add notes for topic 'timeout_after_match' 993e48d0 CTest: Optionally use a secondary test timeout after matching output
| * | | | CTest: Optionally use a secondary test timeout after matching outputZack Galbreath2016-03-2210-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow a test N seconds to complete after we detect a matching line in its output. Activate this behavior with a new TIMEOUT_AFTER_MATCH test property.
* | | | | Merge topic 'test-rename-VSSolution'Brad King2016-03-2218-1/+1
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | 5c1f4da8 Tests: Rename RunCMake.{SolutionGlobalSections => VSSolution}
| * | | | Tests: Rename RunCMake.{SolutionGlobalSections => VSSolution}Brad King2016-03-1818-1/+1
| | | | | | | | | | | | | | | | | | | | The test will be suitable for covering other `.sln` content too.
* | | | | Merge topic 'ninja-directory-targets'Brad King2016-03-224-0/+21
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9ead71df Help: Add notes for topic 'ninja-directory-targets' e9bf8ec8 Ninja: Add test for `$subdir/all` targets ca575fe9 Ninja: Add `$subdir/all` targets
| * | | | | Ninja: Add test for `$subdir/all` targetsBrad King2016-03-224-0/+21
| |/ / / /
* | | | | Merge topic 'fix-repeat-pkg-config'Brad King2016-03-221-5/+6
|\ \ \ \ \ | |/ / / / |/| | | / | | |_|/ | |/| | 6f4f9054 FindPkgConfig: set correctly named variables in cache (#15903)
| * | | FindPkgConfig: set correctly named variables in cache (#15903)Ben Boeckel2016-03-211-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fix in commit v3.5.0-rc1~27^2 (FindPkgConfig: set standard variables in the cache, 2016-01-20) added the wrong variable name to the cache. The test was only testing that the cache variable existed, not that it also had the correct value. Update the test to ensure that the cache value matches the local variable value. Reported-by: Bernd Lörwald
* | | | Merge topic 'release-win64'Brad King2016-03-181-4/+7
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c089485d Utilities/Release: Skip spurious Qt5Autogen test for nightly binary e903a9fc Utilities/Release: Create a Windows 64-bit binary dd630075 Utilities/Release: Rename scripts to match target platform
| * | | | Utilities/Release: Create a Windows 64-bit binaryBrad King2016-03-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Compile with `-D_WIN32_WINNT=0x502` to use a WinXP-compatible API. Compile with `-D_USING_V110_SDK71_` to tell the VS standard library headers that we are building with a WinXP-compatible Windows SDK. Link executables with `-subsystem:console,5.02` to make them runnable on Windows XP 64-bit. Ideally `cmake-gui` should instead be linked with `-subsystem:windows,5.02` but with the Ninja and Makefile generators CMake adds `-subsystem:windows` after our `-subsystem:console,5.02` flag and the linker seems to interpret this combination as we need.
| * | | | Utilities/Release: Rename scripts to match target platformBrad King2016-03-171-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | The machine name we happen to use for the build is less informative than its platform.
* | | | | Merge topic 'GenerateExportHeader-fix-name-leak'Brad King2016-03-1814-42/+56
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6a6e5d89 GenerateExportHeader: Allow common NO_DEPRECATED_MACRO_NAME for multiple libs be5a8973 GenerateExportHeader: Do not define DEFINE_NO_DEPRECATED (#16022)
| * | | | | GenerateExportHeader: Do not define DEFINE_NO_DEPRECATED (#16022)Andreas Schuh2016-03-1714-42/+56
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | Previously we allowed this definition to persist outside our header. This would cause conflicts across multiple such headers because the name was always the same. Fix this by avoiding the definition altogether.
* | | | | Merge topic 'ios-install-combined-one-arch'Brad King2016-03-173-0/+64
|\ \ \ \ \ | |/ / / / |/| | | / | | |_|/ | |/| | e3fc2899 Fix iOS combined feature for single architecture targets
| * | | Fix iOS combined feature for single architecture targetsRuslan Baratov2016-03-153-0/+64
| |/ / | | | | | | | | | | | | | | | | | | If list of valid target architectures is empty for given SDK then there will be no VALID_ARCHS build setting returned by Xcode. Return "" (empty string) explicitly in this case. This may happens if CMAKE_IOS_INSTALL_COMBINED is ON but only one architecture used in target.
| * | Merge branch 'fix-static-private-non-target-depends' into releaseBrad King2016-02-175-0/+17
| |\ \
| * \ \ Merge branch 'fix-cmake_parse_arguments-expansion' into releaseBrad King2016-02-121-0/+19
| |\ \ \
| * \ \ \ Merge branch 'fix-install-EXPORT-crash' into releaseBrad King2016-02-087-3/+14
| |\ \ \ \
| * \ \ \ \ Merge branch 'test-ctest_submit-update' into releaseBrad King2016-02-084-4/+4
| |\ \ \ \ \
* | \ \ \ \ \ Merge topic 'FindProtobuf-variable-case'Brad King2016-03-111-2/+1
|\ \ \ \ \ \ \ | |_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | a7b09e7f FindProtobuf: Rename variables to match case of module name