summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* Xcode: Escape all backslashes in strings (#15328)Gregor Jasny2016-01-073-0/+11
| | | | | | | | | | Before this change backslashes in strings were escaped during compile flags adds via AppendFlag(). But global flags like OTHER_CPLUSPLUSFLAGS are not added as flags but as plain strings so they were not escaped properly. Now the escaping is performed within cmXCodeObject::PrintString() which ensures that strings are always encoded.
* cmake_parse_arguments: consider duplicate keyword as warningMatthias Maennich2015-12-172-3/+43
| | | | | | The behaviour of double specified keywords is rather undefined or at least not clearly documented. This change introduces a strict check and emits a warning in case a keyword has been specified more than once.
* CMakeParseArguments: replace by native cmake_parse_arguments commandMatthias Maennich2015-12-175-17/+9
| | | | | | | Implement a native `cmake_parse_arguments` command that is fully compatible with the documented behaviour of the previous implementation. Leave the CMakeParseArguments module empty but existing for compatibility.
* CMakeParseArguments: add a RunCMake test suiteMatthias Maennich2015-12-1711-0/+185
|
* Merge topic 'ios-universal'Brad King2015-12-117-0/+160
|\ | | | | | | | | | | 565d080a Xcode: Add support for combined install on iOS 34f5ef56 iOS: Fix App Bundle layout
| * Xcode: Add support for combined install on iOSRuslan Baratov2015-12-107-0/+160
| | | | | | | | | | | | | | | | | | | | | | | | This patch solves the problem of installing both: Device and Simulator libraries on iOS. Before only one of them was installed. If the IOS_INSTALL_COMBINED property is set on a target, a special install hook will be activated which builds the corresponding target and combines both at the install location. The original patch was contributed by Ruslan Baratov, and polished by Gregor Jasny.
* | cmake: Teach -E make_directory to support multiple input directoriesBartosz Kosiorek2015-12-107-0/+18
|/
* Merge topic 'cmake-E-copy-multiple-inputs'Brad King2015-12-0910-0/+23
|\ | | | | | | | | | | | | | | bc35087d cmake: Teach -E copy_directory to support multiple input directories 98be140f cmake: Refine -E copy[_if_different] documentation 93cc80ae cmake: Refine -E copy_if_different implementation indentation 0903812b cmake: Refine -E chdir documentation
| * cmake: Teach -E copy_directory to support multiple input directoriesBartosz Kosiorek2015-12-0710-0/+23
| |
* | CPack: Added tests for package name and group controll fieldsDomen Vrankar2015-12-079-0/+80
|/
* cmake: Teach -E copy[_if_different] to support multiple files (#15703)Bartosz Kosiorek2015-12-0420-0/+35
| | | | | | If multiple input files are provided then the destination must be a directory. If only one input file is provided then destination may be either a file or directory.
* cmake: Improve '-E' help message formattingBartosz Kosiorek2015-12-044-4/+4
|
* iOS: Fix framework resource directory layout (#15848)Bartosz Kosiorek2015-12-035-4/+41
| | | | | | | | A typical iOS application bundle (also Framework Bundle) contains the application executable and any resources used by the application (for instance, the application icon, other images, and localized content) in the top-level bundle directory. The same rule applies to Framework Bundles.
* Explicitly enable deprecated warnings by default.Michael Scott2015-12-013-1/+12
| | | | | | | | | | Explicitly enable deprecated warnings by default, via the cmake::GetSuppressDeprecatedWarnings method, which signals suppression is turned off unless the CMake variables are set as required. Add tests and update the documentation for the new functionality.
* Modify dev warning options to affect deprecated warnings.Michael Scott2015-12-011-0/+13
| | | | | | | | | | | Change the '-Wdev' and '-Wno-dev' options to also enable and suppress the deprecated warnings output, via the 'CMAKE_WARN_DEPRECATED' CMake variable, by default. This action does not happen if the user specifies a deprecated warning message option. Add tests and update the documentation for the new functionality.
* Add -W options to control deprecated warning messages.Michael Scott2015-12-014-0/+14
| | | | | | | | Add 'deprecated' warning options type, to allow setting CMAKE_WARN_DEPRECATED via the -W '-Wdeprecated' and '-Wno-deprecated' options. Add tests for new options and updated documentation.
* Refactor the -W options parser to be generic.Michael Scott2015-12-015-1/+18
| | | | | | Refactor the -Wdev and -Wno-dev options parser to use a generic -W parser that follows the GCC pattern, excluding support for -Werror=TYPE and -Wno-error=TYPE formats for now.
* Explicitly enable author (dev) warnings by default.Michael Scott2015-12-015-0/+14
| | | | | | | | | Explicitly enable author warnings by default, via the cmake::GetSuppressDevWarnings method, which signals suppression is turned off unless the CMake variables are set as required. Add test cases for author and deprecated messages displayed by default.
* Make message suppression more consistent.Michael Scott2015-11-303-3/+18
| | | | | | | | | | | | | | | | Make the message suppression more consistent, by adding a check for the message related CMake variables in cmake::IssueMessage, which allows callers of IssueMessage other than the message command to behave as expected. Also added a check for CMAKE_SUPPRESS_DEVELOPER_WARNINGS in the message command to mirror the deprecated message type behaviour. Added a 'force' flag to the cmake::IssueMessage method, to make the message suppression consistent, when setting the message related CMake variables directly in a CMake file. Expand message command tests to cover the AUTHOR_WARNING message type as well.
* Tests: Revise message in RunCMake.CommandLine -Wdev caseMichael Scott2015-11-303-3/+3
| | | | Use more prose-like capitalization.
* Merge topic 'fix-find_package-version-file-error-stack'Brad King2015-11-2511-0/+22
|\ | | | | | | | | | | | | 62126b67 Merge branch 'test-cmake_policy-unmatched' into fix-find_package-version-file-error-stack 2e28c619 cmState: Skip variable scope snapshots to avoid call stack duplicates b219ff94 Tests: Add case for package version file unmatched policy scope
| * Merge branch 'test-cmake_policy-unmatched' into ↵Brad King2015-11-2418-0/+36
| |\ | | | | | | | | | fix-find_package-version-file-error-stack
| | * Tests: Add case for package version file unmatched policy scopeBrad King2015-11-2411-0/+22
| | |
| * | Merge branch 'fix-find_program-regression' into releaseBrad King2015-10-304-0/+14
| |\ \
* | \ \ Merge topic 'test-cmake_policy-unmatched'Brad King2015-11-257-0/+14
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | 378185fb Tests: Add case for unmatched cmake_policy({PUSH,POP})
| * | | Tests: Add case for unmatched cmake_policy({PUSH,POP})Brad King2015-11-247-0/+14
| | | |
* | | | Merge topic 'test-add_subdirectory-in-function'Brad King2015-11-244-0/+33
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 010c5959 Tests: Add case for add_subdirectory inside a function
| * | | | Tests: Add case for add_subdirectory inside a functionBrad King2015-11-234-0/+33
| |/ / /
* | | | Merge topic 'ninja-symbolic-custom-command'Brad King2015-11-202-0/+26
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3477b26f Ninja: Always re-run custom commands that have symbolic dependencies 7d64a059 Ninja: Add 'restat' parameter to custom command generation method 866c75de Ninja: Refactor generation of 'restat' on custom commands
| * | | | Ninja: Always re-run custom commands that have symbolic dependenciesBrad King2015-11-192-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a custom command has a SYMBOLIC output (that is never actually created) then do not mark the custom command build statement as 'restat'. Otherwise other custom commands that depend on the symbolic output may not always re-run because after running the first custom command Ninja 'restat' will detect that the output timestamp did not change and skip its dependents. This was observed with the ExternalProject BUILD_ALWAYS option where Ninja would not re-run the 'install' step each time 'build' re-runs.
* | | | | Fix auto export symbols for Dlls containing /bigobj for 64bit builds.Bill Hoffman2015-11-191-0/+2
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | This fixes a bug where 64 bit builds with /bigobj incorrectly determined that the object files were not 64 bit. This manifested itself with printf type functions showing up as undefined because the leading underscore was being removed and should not be removed.
* | | | Add test for OSX/iOS Framework directory structure (#15833)Gregor Jasny2015-11-139-0/+131
| | | |
* | | | Merge topic 'fix-find_program-regression'Brad King2015-11-024-0/+14
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | 31e6571c find_program: Fix regression in finding an already-known path
| * | | find_program: Fix regression in finding an already-known pathBrad King2015-10-304-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes in commit v3.4.0-rc1~124^2~1 (cmFindProgramCommand: Re-implement search using more flexible approach, 2015-09-01) did not preserve the behavior of looking for the given name with no search path at all. Fix this and add a test case covering finding an absolute path with no search directories.
* | | | FindPkgConfig: return actual error when a package is not found (#15810)Benjamin Chrétien2015-10-281-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some cases, CMake returned the following error: -- Checking for module 'foo' -- Package 'foo' not found When the actual error returned by pkg-config was: Package 'bar', required by 'foo', not found Now, the actual error is forwarded to the user. -- Checking for module 'foo' -- Package 'bar', required by 'foo', not found For the standard case (i.e. the package was indeed not found), the CMake error was: -- Checking for module 'foo' -- Package 'foo' not found But it now prints: -- Checking for module 'foo' -- No package 'foo' found The associated test was also updated. ${last} refers to the last CLI argument.
* | | | Tests: Disable parallel test execution while running ctest_testStephen Kelly2015-10-271-0/+1
| | | |
* | | | Tests: Don't overwrite RunCMake_TEST_FAILED variableStephen Kelly2015-10-271-5/+5
| | | |
* | | | Merge topic 'xcode-watch-and-tvos'Brad King2015-10-262-6/+56
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | a91eebeb Xcode: Recognise Watch and TV OS as embedded platforms
| * | | | Xcode: Recognise Watch and TV OS as embedded platformsGregor Jasny2015-10-232-6/+56
| | | | |
* | | | | Merge topic 'xcode-optimization-flags'Brad King2015-10-267-0/+63
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 601e6e1a Xcode: Use regular expression to extract all optimisation flags (#15794)
| * | | | | Xcode: Use regular expression to extract all optimisation flags (#15794)Gregor Jasny2015-10-237-0/+63
| |/ / / /
* | | | | Merge topic 'fix-test-RUN_SERIAL-failure-regression'Brad King2015-10-264-0/+27
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | e61973e1 CTest: Fix regression in handling of a RUN_SERIAL test that fails
| * | | | CTest: Fix regression in handling of a RUN_SERIAL test that failsBrad King2015-10-234-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit v3.4.0-rc1~390^2~1 (cmCTestMultiProcessHandler: Refactor RUN_SERIAL implementation, 2015-06-01) forgot to update a code path for cleaning up after a failed RUN_SERIAL test. This causes an infinite loop after a RUN_SERIAL test fails. Fix it and add a test.
* | | | | Merge topic 'cmLocalGenerator-generator-target-storage'Brad King2015-10-218-52/+74
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a4bbdc5e cmLocalGenerator: Remove cmGeneratorTargetsType from setter API. 04b6bb16 cmLocalGenerator: Simplify semantic of adding generator targets. 400e3d19 cmLocalGenerator: Don't store imported generator targets 726e461b CMP0063: Split unit test by target type.
| * | | | | CMP0063: Split unit test by target type.Stephen Kelly2015-10-208-52/+74
| | |/ / / | |/| | | | | | | | | | | | | Don't rely on the order of warnings for targets being deterministic.
* | | | | Merge topic 'fix-CMP0054-elseif-warning'Brad King2015-10-214-0/+29
|\ \ \ \ \ | |/ / / / |/| / / / | |/ / / | | | | d6a03b47 cmIfCommand: Issue CMP0054 warning with appropriate context. (#15802)
| * | | cmIfCommand: Issue CMP0054 warning with appropriate context. (#15802)Stephen Kelly2015-10-204-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit v3.4.0-rc1~494^2~4 (cmMakefile: Add API for elseif to create backtrace., 2015-05-29) removed the use of cmMakefileCall to push/pop execution context in favor of a new way to create backtraces. However, a call to cmMakefile::GetExecutionContext is still invoked to issue a contextual CMP0054 warning through cmConditionEvaluator. As the elseif is not part of the call stack, this resulted in trying to access an empty vector. Avoid the attempt at getting execution context when evaluating elseif by constructing a context and backtrace on behalf of the cmConditionEvaluator in all cases.
* | | | Document and test CMAKE_[CURRENT_](BINARY|SOURCE)_DIR in script modeTamas Kenez2015-10-062-0/+15
|/ / /
* | | Tests: Fix RunCMake.CPack_* tests to use proper CMake generatorDomen Vrankar2015-10-012-45/+3
| | | | | | | | | | | | | | | | | | Use the run_cmake() function to generate the test build tree with the proper CMake generator and also to verify that it succeeds. Drop our PreTestError helper as it is no longer needed.
* | | Tests: Avoid OS X 10.5 limitation warning in RunCMake.CPack* testsBrad King2015-10-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The DEPENDENCIES test case uses install(TARGETS) and so generates a warning: CMake Warning in CMakeLists.txt: WARNING: Target "test_prog" has runtime paths which cannot be changed during install. To change runtime paths, OS X version 10.6 or newer is required. Therefore, runtime paths will not be changed when installing. CMAKE_BUILD_WITH_INSTALL_RPATH may be used to work around this limitation. Set CMAKE_BUILD_WITH_INSTALL_RPATH to avoid the warning since we do not need to run the binaries from the build tree anyway.