summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'cpack-rpm-srpm-package'Brad King2016-09-206-1/+145
|\ | | | | | | | | d9cec8ad CPack/RPM: Generate source rpm (SRPM) packages on demand
| * CPack/RPM: Generate source rpm (SRPM) packages on demandDomen Vrankar2016-09-206-1/+145
| | | | | | | | Closes: #15839
* | Merge topic 'cpack.hash_computing'Brad King2016-09-208-12/+70
|\ \ | | | | | | | | | | | | | | | 1c63aa4d CPack: Add option to generate a checksum file next to each package file 4682b42b Tests: Add subtest support to RunCMake/CPack infrastructure
| * | CPack: Add option to generate a checksum file next to each package filePetr Orlov2016-09-195-0/+30
| | | | | | | | | | | | Add variable CPACK_PACKAGE_CHECKSUM to activate it.
| * | Tests: Add subtest support to RunCMake/CPack infrastructureDomen Vrankar2016-09-193-12/+40
| |/
* | server-mode: Add --experimental flagTobias Hunger2016-09-201-1/+1
|/ | | | | | | | Allow for experimental cmProtocolVersions, which will only ever get listed if the server was started with the (undocumented) "--experimental" flag. Mark current protocol version 1.0 as experimental.
* cmake-server: Bare-bones server implementationTobias Hunger2016-09-193-0/+3
| | | | | | | | | | | | | | | Adds a bare-bones cmake-server implementation and makes it possible to start that with "cmake -E server". Communication happens via stdin/stdout for now. Protocol is based on Json objects surrounded by magic strings ("[== CMake Server ==[" and "]== CMake Server ==]"), which simplifies Json parsing significantly. This patch also defines an interface used to implement different versions of the protocol spoken by the server, but does not include any protocol implementaiton.
* Make the add_custom_command output more predictableStephen Kelly2016-09-191-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | I otherwise get: Expected stderr to match: expect-err> CMake Error at AppendNotOutput.cmake:1 \(add_custom_command\): expect-err> add_custom_command given APPEND option with output.* expect-err> which is not already a custom command output. expect-err> Call Stack \(most recent call first\): expect-err> CMakeLists.txt:3 \(include\) Actual stderr: actual-err> CMake Error at AppendNotOutput.cmake:1 (add_custom_command): actual-err> add_custom_command given APPEND option with output actual-err> "/home/stephen/dev/src/cmake/with actual-err> space/Tests/RunCMake/add_custom_command/AppendNotOutput-build/out" which is actual-err> not already a custom command output. actual-err> Call Stack (most recent call first): actual-err> CMakeLists.txt:3 (include) Using a specific line for paths is a style already used elsewhere for the same reason, such as CMP0041 output.
* Merge topic 'file-curl-httpheader'Brad King2016-09-167-0/+14
|\ | | | | | | | | 8f6cb366 file(DOWNLOAD|UPLOAD): Add HTTPHEADER suboption
| * file(DOWNLOAD|UPLOAD): Add HTTPHEADER suboptionRuslan Baratov2016-09-157-0/+14
| |
* | Tests: Add case for file(LOCK) with lower-cased pathRuslan Baratov2016-09-152-0/+12
| | | | | | | | | | | | | | The KWSys update in commit d28e4467 (KWSys 2016-09-14 (c4049689)) fixed this case, so add it to the test suite. Closes: #16295
* | Merge topic 'update-kwsys'Brad King2016-09-151-6/+6
|\ \ | |/ |/| | | | | | | | | | | | | de149317 Tests: Use upper-case drive letters in RunCMake.get_filename_component 04d94fbe Merge branch 'upstream-KWSys' into update-kwsys d28e4467 KWSys 2016-09-14 (c4049689) e4fc770f Merge branch 'upstream-KWSys' into update-kwsys b80d6136 KWSys 2016-09-14 (e736efa1)
| * Tests: Use upper-case drive letters in RunCMake.get_filename_componentBrad King2016-09-151-6/+6
| | | | | | | | | | | | | | | | With the most recent KWSys update, the "actual case" operation on Windows always upper-cases the drive letter now even for absolute paths that do not exist. Use an upper-case drive letter in the test so that it can tolerate this operation on Windows and the lack of this operation elsewhere.
* | Merge topic 'file-curl-userpw'Brad King2016-09-147-0/+14
|\ \ | | | | | | | | | | | | | | | abeb42f1 Help: Add notes for topic 'file-curl-userpw' e5ba1041 file(DOWNLOAD|UPLOAD): Add 'USERPWD' suboption
| * | file(DOWNLOAD|UPLOAD): Add 'USERPWD' suboptionRuslan Baratov2016-09-137-0/+14
| | |
* | | Merge topic 'add_androidmk_generator'Brad King2016-09-148-0/+99
|\ \ \ | |/ / |/| | | | | | | | | | | | | | 42ce9f1e Add support for creating prebuilt Android.mk files d5257063 Export: Virtualize file generation step helpers f81b9475 Export: Factor out file generation steps into helpers
| * | Add support for creating prebuilt Android.mk filesBill Hoffman2016-09-138-0/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add options to the `install()` and `export()` commands to export the targets we build into Android.mk files that reference them as prebuilt libraries with associated usage requirements (compile definitions, include directories, link libraries). This will allow CMake-built projects to be imported into projects using the Android NDK build system. Closes: #15562
* | | Merge topic 'file-download-unexpected-arg'Brad King2016-09-139-0/+22
|\ \ \ | |_|/ |/| | | | | | | | 4dd997da file(DOWNLOAD|UPLOAD): Warn on unexpected arguments
| * | file(DOWNLOAD|UPLOAD): Warn on unexpected argumentsRuslan Baratov2016-09-099-0/+22
| | | | | | | | | | | | | | | Emit warning message on unparsed argument instead of silently ignoring it. Can't stop with the error message because it may break old code.
* | | Merge topic 'geh-failure-tests'Brad King2016-09-1212-203/+445
|\ \ \ | |/ / |/| | | | | | | | | | | | | | 612d6f29 Tests: Refactor GenerateExportHeader test code ce76abb4 Tests: Add data symbols to GenerateExportHeader test 8f95b93b Tests: Add failure test for GenerateExportHeader
| * | Tests: Refactor GenerateExportHeader test codeMatthew Woehlke2016-09-127-237/+327
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor the library code used in the GenerateExportHeader test to use an improved naming convention that more directly identifies what it being tested, making use of namespaces to avoid possible symbol collisions. This also eliminates duplicate cases such as `libshared()` and `libshared_not_exported()` which had the same decoration, and adds consistent pairings of <name>_EXPORT and <name>_DEPRECATED_EXPORT which were missing previously. The data tests from the previous commit are also added to `libstatic` and `libshared_and_static` for consistency. Note that there are no exported members of exported classes, as these are not allowed on Windows.
| * | Tests: Add data symbols to GenerateExportHeader testMatthew Woehlke2016-09-123-0/+74
| | | | | | | | | | | | | | | | | | Add static data members and global variables to the GenerateExportHeader shared library, testing that export decoration for these works in addition to decoration of classes and free functions.
| * | Tests: Add failure test for GenerateExportHeaderMatthew Woehlke2016-09-126-18/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modify notation of statements in the GenerateExportHeader test expected to result in link errors. Modify script used to build the test to also generate a suite of modified sources, each having exactly one of the failing lines enabled, and to generate EXCLUDE_FROM_ALL executables for the same. Modify RunCMake script used to drive the test to read the list of such executables and try to build each of them, verifying that they do in fact fail to build. This will verify that the _NO_EXPORT macros are working as expected, and will also catch errors like the one that commit 0cbaaf2d (GenerateExportHeader: Fix add_compiler_export_flags regression, 2016-09-01) fixed. When setting up the failure tests for GenerateExportHeader, check if the compiler actually hides non-exported stuff. If not, the failure tests won't fail, and will cause the overall test to fail. Since this typically is only the case for very old compilers, simply skipping them as opposed to trying to do something more fine grained seems reasonably safe.
* | | cmake_parse_arguments: Add option to read arguments from ARGC/ARGV#Bill Hoffman2016-09-0814-0/+69
| |/ |/| | | | | | | | | | | | | | | The `ARGC`/`ARGV#` variables in function scope hold the original arguments with no ;-list flattening. Add a way for functions to cleanly parse arguments that may contain `;`. This also avoids extra copying of the arguments. Co-Author: Brad King <brad.king@kitware.com>
* | Merge topic 'vs-15-generator'Brad King2016-09-082-4/+4
|\ \ | | | | | | | | | | | | | | | | | | bdc679a8 VS15: Add Visual Studio 15 generator a8936656 VS: Update v140 flag tables from VS 15 MSBuild files 21346d3f Features: Record features for VS 15 Preview 4
| * | VS15: Add Visual Studio 15 generatorBrad King2016-09-072-4/+4
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Call the generator "Visual Studio 15" without any year because the preview version of VS 15 does not provide a year in the product name. Copy cmGlobalVisualStudio14Generator to cmGlobalVisualStudio15Generator and update version numbers accordingly. Add the VS15 enumeration value. Note that we do not need to add a MSVC15 variable or v150 toolset because Visual Studio 15 comes with an updated version of the v140 toolset and remains ABI-compatible. Teach tests VSExternalInclude, RunCMake.GeneratorPlatform, and RunCMake.GeneratorToolset to treat VS 15 as they do VS 10-14. Closes: #16143
* | cmMakefile: Restore nested error logic use of cmExecutionStatusBrad King2016-09-065-0/+45
|/ | | | | | | | | | | | | | Since commit 14a8d61f (cmMakefile: Port nested error logic away from cmExecutionStatus) we fail to continue processing function and macro bodies after non-fatal errors. A non-fatal error should not stop foreach loops, macro bodies, nested bodies, or the outer script. Add a test covering these cases, and revert the change to fix them. Also revert commit 2af853de (cmMakefile: Simplify IssueMessage implementation) because the assertion it added (which was removed by the above commit and is restored by reverting it) is incorrect. We do have code paths that call cmMakefile::IssueMessage with an empty execution stack, such as in CheckForUnusedVariables's LogUnused call.
* Merge topic 'genex-LINK_ONLY-not-linking'Brad King2016-09-064-0/+11
|\ | | | | | | | | f6fd0abc Genex: Diagnose invalid LINK_ONLY usage instead of crashing
| * Genex: Diagnose invalid LINK_ONLY usage instead of crashingBrad King2016-09-054-0/+11
| | | | | | | | | | | | | | | | When `$<LINK_ONLY:...>` is used outside of linking we may evaluate it without a `dagChecker`. Do not dereference the NULL pointer and issue a diagnostic instead. Closes: #16287
* | Merge topic 'test-GenerateExportHeader-with-RunCMake'Brad King2016-09-0638-0/+1519
|\ \ | | | | | | | | | | | | | | | | | | 72ecdd34 Tests: Cleanup RunCMake.GenerateExportHeader somewhat fc3dab0e Tests: Port GenerateExportHeader test to RunCMake infrastructure 4feba34d GNU: Do not use -fvisibility on AIX or HP-UX
| * | Tests: Cleanup RunCMake.GenerateExportHeader somewhatBrad King2016-09-0511-51/+14
| | |
| * | Tests: Port GenerateExportHeader test to RunCMake infrastructureBrad King2016-09-0539-0/+1556
| |/ | | | | | | This will allow build failure cases to be added later.
* | CPack/DEB: Add option to select archive typeDomen Vrankar2016-09-057-0/+59
|/ | | | | | | Add a `CPACK_DEBIAN_ARCHIVE_TYPE` option that can be used to select an archive type that supports long file names. Closes: #14332
* Merge topic '16101-xcode-fix-directory-exclude-from-all'Brad King2016-08-317-0/+36
|\ | | | | | | | | df32e564 Xcode: Add targets marked as EXCLUDE_FROM_ALL to project (#16101)
| * Xcode: Add targets marked as EXCLUDE_FROM_ALL to project (#16101)Gregor Jasny2016-08-317-0/+36
| |
* | Improve error message on unexpected end of fileBrad King2016-08-304-0/+9
| | | | | | | | Suggested-by: Stephen Kelly <steveire@gmail.com>
* | Merge topic 'ninja-add_custom_command-depfile'Brad King2016-08-307-0/+34
|\ \ | | | | | | | | | | | | 048d1adb add_custom_command: Add DEPFILE option for Ninja
| * | add_custom_command: Add DEPFILE option for NinjaKulla Christoph2016-08-307-0/+34
| |/ | | | | | | | | | | | | | | Provide a way for custom commands to inform the ninja build tool about their implicit dependencies. For now simply make use of the option an error on other generators. Closes: #15479
* | CPack/RPM: Add test for debuginfo package generationDomen Vrankar2016-08-264-0/+44
|/
* Merge topic 'extract-cmMessenger'Brad King2016-08-2519-119/+75
|\ | | | | | | | | | | | | | | | | | | 1462576b Parser: Port away from cmMakefile 421012a3 cmMessenger: Extract from cmake class 14a8d61f cmMakefile: Port nested error logic away from cmExecutionStatus 2af853de cmMakefile: Simplify IssueMessage implementation 33bb9cfa Parser: Issue messages through cmake, not cmSystemTools db7de303 Parser: Store the Backtrace for use in issuing messages
| * Parser: Issue messages through cmake, not cmSystemToolsStephen Kelly2016-08-2519-119/+75
| | | | | | | | | | Make these messages uniform with regard to other messages issued by cmake.
* | Tests: Fix RunCMake.CMP0040 custom command syntaxBrad King2016-08-245-5/+5
|/
* Merge topic 'android-platform-modules'Brad King2016-08-2452-0/+572
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7b637ebd Android: Add `ANDROID` variable to indicate the target c2f561e5 Android: Add test cases covering use of the NDK and standalone toolchains 6b84df8d Help: Document cross compiling for Android d7d40830 Android: Select the STL type for NDK builds b22294bc Android: Populate compiler flags for current ABI b6a3102a Android: Add a CMAKE_BUILD_TYPE default d1e3cec2 Android: Add Clang -target option for current ABI 504db72d Android: Add placeholders for compiler/abi-specific settings fa632578 Android: Avoid interfering with common pre-existing toolchain files 6299693f Android: Search for NDK and standalone toolchain in more places 29b51379 Android: Detect and save a standalone toolchain without the NDK 7d9b49fb Android: Detect settings from the CMAKE_SYSROOT if it is set 4389664a Android: Detect and save a toolchain from the NDK 328191f6 Android: Set CMAKE_SYSROOT automatically 9e032304 Android: Detect and save the architecture, ABI, and processor fde59c4d Android: Detect and save the API level ...
| * Android: Add `ANDROID` variable to indicate the targetBrad King2016-08-231-0/+4
| | | | | | | | | | Allow projects to use `if(ANDROID)` to condition their Android-specific code paths.
| * Android: Add test cases covering use of the NDK and standalone toolchainsBrad King2016-08-2352-0/+568
| |
* | cmake: Add `cmake -E capabilities` modeTobias Hunger2016-08-164-0/+5
|/ | | | | | | Add `cmake -E capabilities` to report on generators, cmake version and possibly other static capabilities of cmake. Closes: #15462
* Merge topic 'fix-test-macOS-case-sensitive'Brad King2016-08-101-1/+1
|\ | | | | | | | | 677e73cb Tests: Fix RunCMake.Framework on case sensitive file systems.
| * Tests: Fix RunCMake.Framework on case sensitive file systems.Chaoren Lin2016-08-091-1/+1
| | | | | | | | The file is lowercase: Tests/RunCMake/Framework/osx.cmake
* | Ninja: Add `$subdir/{test,install,package}` targetsBrad King2016-08-095-0/+17
|/ | | | | | | | | | | | | With the Makefile generator one can use `cd $subdir; make install` to build and install targets associated with a given subdirectory. This is not possible to do with the Ninja generator since there is only one `build.ninja` file at the top of the build tree. However, we can approximate it by allowing one to run `ninja $subdir/install` at the top of the tree to build the targets in the corresponding subdirectory and install them. This also makes sense for `test`, `package`, and other GLOBAL_TARGET targets. It was already done for `all` by commit v3.6.0-rc1~240^2~2 (Ninja: Add `$subdir/all` targets, 2016-03-11).
* prefer list(APPEND) over string(APPEND) where appropriateDaniel Pfeifer2016-08-081-2/+2
|