Commit Graph

33063 Commits

Author SHA1 Message Date
Brad King d0be1e15c3 Add directory properties to get source and binary directories
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.
2016-09-19 14:00:50 -04:00
Brad King cbca65826c Add directory property to list buildsystem targets
Add a BUILDSYSTEM_TARGETS property to allow project code to traverse
the list of its own targets in a given directory.
2016-09-19 14:00:32 -04:00
Brad King 7a4b8d0dc2 Add a directory property to list subdirectories
Add a SUBDIRECTORIES directory property to allow project code to
traverse the directory structure of itself as CMake sees it.
2016-09-19 13:59:43 -04:00
Konstantin Podsvirov b807cd9b54 CPackIFW: Add 'cpack_ifw_add_package_resources' command 2016-09-19 13:17:59 -04:00
Brad King 089868a244 cmState: Record buildsystem target names in each directory
Maintain in the directory state the list of target names added to be
built.  These are normal, non-imported targets (but do include INTERFACE
libraries).
2016-09-19 10:55:18 -04:00
Brad King 5e6716dbac Help: Add notes for topic 'ExternalProject-HTTP_HEADER' 2016-09-19 10:51:08 -04:00
Petr Orlov 1c63aa4d43 CPack: Add option to generate a checksum file next to each package file
Add variable CPACK_PACKAGE_CHECKSUM to activate it.
2016-09-19 10:22:50 -04:00
Domen Vrankar 4682b42bdb Tests: Add subtest support to RunCMake/CPack infrastructure 2016-09-19 10:20:13 -04:00
Brad King 5c87b92b1b Merge topic 'cmake-server-basic'
7263667c Help: Add notes for topic 'cmake-server-basic'
5adde4e7 cmake-server: Add documentation
b63c1f6c cmake-server: Add unit test
d341d077 cmake-server: Implement ServerProtocol 1.0
b13d3e0d cmake-server: Bare-bones server implementation
cd049f01 cmake-server: Report server mode availablitily in Capabilities
2016-09-19 09:36:34 -04:00
Brad King 7263667c24 Help: Add notes for topic 'cmake-server-basic' 2016-09-19 09:20:43 -04:00
Ruslan Baratov 0f424c3d07 ExternalProject: Add HTTP_HEADER 2016-09-19 16:05:12 +03:00
Tobias Hunger 5adde4e79d cmake-server: Add documentation 2016-09-19 08:57:58 -04:00
Tobias Hunger b63c1f6ce7 cmake-server: Add unit test 2016-09-19 08:57:58 -04:00
Tobias Hunger d341d077c5 cmake-server: Implement ServerProtocol 1.0
Enable the initial handshake of the client to complete the connection
to the server.

The handshake sets the protocol version that client and server will
use to talk to each other. The only way to change this is to quit the
server and start over.

CMake specific information is also set during the initial handshake.
Since cmake so far never had to change basic information about any project
while running, it was decided to keep this information static and
require a restart of the cmake server to change any of these.
2016-09-19 08:57:57 -04:00
Tobias Hunger b13d3e0d0b cmake-server: Bare-bones server implementation
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.
2016-09-19 08:57:57 -04:00
Tobias Hunger cd049f012e cmake-server: Report server mode availablitily in Capabilities
Report the availability of the server-mode in the output of
cmake -E capabilities.
2016-09-19 08:57:28 -04:00
Brad King 419ad05101 Merge topic 'cleanup-Convert'
6afd35b9 cmState: remove unused code
8d47a20f cmOutputConverter: use new ConvertToRelativePath signature internally
149af87b cmOutputConverter: split ConvertToRelativePath
2016-09-19 08:55:27 -04:00
Brad King ec5114f997 Merge topic 'predictable-add_custom_command-output'
92d76b50 Make the add_custom_command output more predictable
2016-09-19 08:55:24 -04:00
Brad King 995d6be128 Merge topic 'clang-tidy-fixes'
3fab1fef cmNinjaNormalTargetGenerator: make sure comments match parameter names
7b94a7ad cmCommandArgumentsHelper: simplify boolean expression
782fcbb9 Use CM_NULLPTR
809ca6c8 Use braces around statements
516f8edb Avoid else after return
d9f5d3c5 Remove redundant get() call on smart pointer
3fda1094 Mark overridden functions with CM_OVERRIDE
2016-09-19 08:55:18 -04:00
Brad King 31d63ac88c Merge topic 'doc-CPackIFW'
a327b206 CPackIFW: Format documentation
2016-09-19 08:55:15 -04:00
Brad King 34b49df564 Merge topic 'ifw-user-interfaces'
c2f0f41f CPackIFW: Add USER_INTERFACES option
2016-09-19 08:55:12 -04:00
Brad King 0a4d15a9e2 Merge topic 'check-for-unique_ptr'
aa50cdac Check for availability of unique_ptr and make_unique when building CMake
2016-09-19 08:55:09 -04:00
Brad King 4c40cf681b Merge topic 'postgresql-96'
8dac3af0 FindPostgreSQL: Search for version 9.6
84039a6a FindPostgreSQL: Correct comment about known postgres versions
2016-09-19 08:55:06 -04:00
Brad King b4ea74c5ca Merge topic 'find-package-mode-fixes'
a098ca0d cmake: Fix --find-package mode link line output
d9c600c5 cmGlobalGenerator: Fix use of uninitialized value in --find-package mode
2016-09-19 08:55:03 -04:00
Brad King 009bb0139d Merge topic 'binaries-as-c++14'
0310cb10 Utilities/Release: Build Linux and OS X binaries as C++14
2016-09-19 08:55:01 -04:00
Brad King e7d3f154f0 Merge topic 'nightly-binary-no-ConsoleBuf-test'
ea23db00 Utilities/Release: Suppress KWSys ConsoleBuf test on Windows binaries
2016-09-19 08:54:58 -04:00
Stephen Kelly 92d76b50aa Make the add_custom_command output more predictable
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.
2016-09-19 08:49:46 -04:00
Brad King ea23db00f4 Utilities/Release: Suppress KWSys ConsoleBuf test on Windows binaries
The test fails spuriously too often.  Additional work on the test
will be needed to make it more reliable.  For now just skip the
test when building nightly binaries so they can complete.
2016-09-19 08:40:10 -04:00
Kitware Robot c7b312cf13 CMake Nightly Date Stamp 2016-09-19 00:01:03 -04:00
Tamar Kranenburg 8dac3af03c FindPostgreSQL: Search for version 9.6 2016-09-18 16:39:18 +02:00
Tamar Kranenburg 84039a6aa2 FindPostgreSQL: Correct comment about known postgres versions 2016-09-18 16:39:18 +02:00
Kitware Robot ca504042d1 CMake Nightly Date Stamp 2016-09-18 00:01:05 -04:00
Daniel Pfeifer 6afd35b98a cmState: remove unused code
Remove the code that was used by cmOutputConverter exclusively.
2016-09-17 19:49:21 +02:00
Daniel Pfeifer 8d47a20f13 cmOutputConverter: use new ConvertToRelativePath signature internally 2016-09-17 10:29:49 +02:00
Daniel Pfeifer 149af87b86 cmOutputConverter: split ConvertToRelativePath
Split the ConvertToRelativePath funtion into ConvertToRelativePath and
ForceToRelativePath.  Both functions take the local path as a string
rather than a vector of path segments.  Reimplement the old interface on
top of the two new functions for interface compatibility.
2016-09-17 10:29:48 +02:00
Kitware Robot 4171b86ca3 CMake Nightly Date Stamp 2016-09-17 00:01:05 -04:00
Daniel Pfeifer 3fab1fef23 cmNinjaNormalTargetGenerator: make sure comments match parameter names 2016-09-16 23:31:37 +02:00
Daniel Pfeifer 7b94a7adb3 cmCommandArgumentsHelper: simplify boolean expression 2016-09-16 23:16:54 +02:00
Daniel Pfeifer 782fcbb92e Use CM_NULLPTR 2016-09-16 23:01:40 +02:00
Daniel Pfeifer 809ca6c81f Use braces around statements 2016-09-16 22:52:02 +02:00
Daniel Pfeifer 516f8edb2e Avoid else after return 2016-09-16 22:45:24 +02:00
Daniel Pfeifer d9f5d3c50f Remove redundant get() call on smart pointer 2016-09-16 22:16:27 +02:00
Daniel Pfeifer 3fda109451 Mark overridden functions with CM_OVERRIDE 2016-09-16 22:14:19 +02:00
Brad King aa50cdac43 Check for availability of unique_ptr and make_unique when building CMake
Some code paths may find these useful if available.
2016-09-16 13:22:10 -04:00
Brad King 0310cb1094 Utilities/Release: Build Linux and OS X binaries as C++14
The toolchains we use to build on these platforms support it.
2016-09-16 12:52:13 -04:00
Brad King a327b20694 CPackIFW: Format documentation
Place command documentation in explicit markup blocks and remove
horizontal dividers.  Use definition lists and bullet lists as
appropriate.
2016-09-16 10:40:17 -04:00
Pierluigi Taddei c2f0f41f63 CPackIFW: Add USER_INTERFACES option
Add to CPackIFW the capability of accepting a list of
USER_INTERFACES that are copied to the meta folder and
added to the component description.
2016-09-16 10:29:00 -04:00
Brad King 00fd64d126 Merge topic 'refactor-target-construction'
9353d991 cmTarget: Remove unused support for partial construction
fa3897b2 cmGlobalGenerator: Refactor global target construction
916d8445 cmGlobalGenerator: Split CreateDefaultGlobalTargets implementation
2016-09-16 10:21:43 -04:00
Brad King 60ebd0acf8 Merge topic 'size-empty'
73f648f1 use empty method to check for emptyness
2016-09-16 10:21:39 -04:00
Brad King cf0e005202 Merge topic 'detect-relink-incompat'
72dfca30 ninja: error out on relink requirements
2016-09-16 10:21:31 -04:00