- 10 Oct, 2016 1 commit
-
-
Fix passing a list to the CMAKE_CACHE_ARGS and CMAKE_CACHE_DEFAULT_ARGS options of ExternalProject_Add. Following commit v3.7.0-rc1~273^2~1 (prefer list(APPEND) over string(APPEND) where appropriate, 2016-08-08), the semicolon list separator after the first list element was missing in the generated cache.
-
- 07 Oct, 2016 2 commits
-
-
Brad King authored
When a `PREBUILT_STATIC_LIBRARY` uses C++ in its sources then the `.a` file will have a link-time dependency on the C++ runtime libraries. Android NDK r14 will add a way to give this information to the NDK build system by adding a `LOCAL_HAS_CPP` setting to the `Android.mk` file. Add this for exported static libraries that use C++.
-
Brad King authored
Additional include directories are needed for this on some STL types. Closes: #16350
-
- 06 Oct, 2016 1 commit
-
-
Brad King authored
We use `-Werror` in the Android test builds to make sure there are no warnings that we care about (e.g. unused flags). However, the NDK r13 tools produce a warning about their own builtins: ``` <built-in>: In function 'float abs(float)': <built-in>: warning: conflicts with previous declaration here [-Wattributes] ``` Suppress this warning so that we can continue using `-Werror` but tolerate these warnings.
-
- 30 Sep, 2016 1 commit
-
-
Add a module to manage the data needed for the project tests. It will move the test data to the build directory and transfer necessary data to an Android device if that is enabled.
-
- 28 Sep, 2016 4 commits
-
-
Matthew Woehlke authored
Add additional unit tests for some corner cases in argument splitting.
-
The `PARSE_ARGV` mode was recently added to help functions properly parse their arguments even when those arguments may be quoted and contain literal `;` in their values. Fix the implementation to encode `;`s in reported multi-value arguments and in `UNPARSED_ARGUMENTS` so that `;`s in the individual values are preserved in the lists. This allows clients to access all their argument values correctly.
-
Brad King authored
The check added in commit v3.6.0-rc1~293^2 (Diagnose recursive project/enable_language without crashing, 2016-03-07) broke support for enabling `RC` explicitly along with other languages like `C`. The reason is that we enable all listed languages at once so the internal `enable_language(RC)` that we do while enabling `C` or `CXX` on some platforms triggers the recursion check if `RC` is explicitly listed. Ideally we should refactor things to only enable one language at a time, but for now it is simplest to just exclude `RC` from the explicit list until other languages are enabled, and then enable it. Closes: #16330
-
Brad King authored
The `main.cpp` that this test generates needs a newline so that compilers do not warn about a missing newline. Otherwise the warning causes RunCMake infrastructure to detect unexpected output.
-
- 27 Sep, 2016 3 commits
-
-
Brad King authored
-
List of sources must be split into paths parts so that debuginfo package cleans up after itself.
-
Issue #15668 fix was missing relevant source files in debuginfo package.
-
- 22 Sep, 2016 2 commits
-
-
Brad King authored
Refactoring in commit v3.5.0-rc1~272^2~16 (cmGeneratorTarget: Add API for property keys, 2015-10-25) changed the Xcode generator implementation of `XCODE_ATTRIBUTE_...` properties to use the target `GetProperty` method on each `XCODE_ATTRIBUTE_...` property listed by `GetPropertyKeys` instead of looping over the property entries directly. This made the lookup of property names of the form `XCODE_ATTRIBUTE_..._LOCATION` accidentally trigger the computed property logic for the undocumented/legacy `<CONFIG>_LOCATION` property. Of course the computed property value is not the same as the value stored in the `XCODE_ATTRIBUTE_..._LOCATION` property. Fix the computed property logic to avoid triggering on `XCODE_ATTRIBUTE_...` attributes. Closes: #16319
-
Use it to split pipe and stdin/out handling out of cmServer itself. The server will shut down when it looses its connection to the client. This has the nice property that a crashing client will cause the server to terminate as the OS will close the connection on behave of the client.
-
- 20 Sep, 2016 5 commits
-
-
Add new test properties: * FIXTURES_SETUP * FIXTURES_CLEANUP * FIXTURES_REQUIRED to specify the roles and dependencies of tests providing/using test fixtures.
-
If a `ctest_*` command has CAPTURE_CMAKE_ERROR then any errors generated by cmake during that command will cause the value to be assigned `-1`. This will prevent a `ctest -S` script from returning non-zero unless the script explicitly calls `message(FATAL_ERROR)`.
-
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.
-
Closes: #15839
- 19 Sep, 2016 7 commits
-
-
Brad King authored
Add SOURCE_DIR and BINARY_DIR directory properties that return the absolute paths to the corresponding directories. These correspond to the target properties of the same names that we already have.
-
Brad King authored
Add a BUILDSYSTEM_TARGETS property to allow project code to traverse the list of its own targets in a given directory.
-
Brad King authored
Add a SUBDIRECTORIES directory property to allow project code to traverse the directory structure of itself as CMake sees it.
-
Add variable CPACK_PACKAGE_CHECKSUM to activate it.
-
-
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.
-
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.
-
- 15 Sep, 2016 3 commits
-
-
Ruslan Baratov authored
-
The KWSys update in commit d28e4467 (KWSys 2016-09-14 (c4049689)) fixed this case, so add it to the test suite. Closes: #16295
-
Brad King authored
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.
-
- 13 Sep, 2016 2 commits
-
-
Ruslan Baratov authored
-
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
-
- 12 Sep, 2016 3 commits
-
-
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.
-
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.
-
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.
-
- 09 Sep, 2016 1 commit
-
-
Ruslan Baratov authored
Emit warning message on unparsed argument instead of silently ignoring it. Can't stop with the error message because it may break old code.
-
- 08 Sep, 2016 1 commit
-
-
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>
-
- 07 Sep, 2016 1 commit
-
-
Brad King authored
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
-
- 06 Sep, 2016 1 commit
-
-
Brad King authored
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.
-
- 05 Sep, 2016 2 commits