[Tarantool-patches] [PATCH v1] build: fix build after commit 7b443650

Alexander Turenko alexander.turenko at tarantool.org
Sat Apr 18 06:15:22 MSK 2020


Pushed to master with changes, see below.

WBR, Alexander Turenko.

On Fri, Apr 17, 2020 at 05:09:47PM +0300, Alexander V. Tikhonov wrote:
> Found that some package builds failed on the mistake in CMakeLists.txt
> file, the failed packages and test builds were:
> - CentOS 6
> - CentOS 7
> - Ubuntu 14.04
> and static build based on Dockerfile.

It is actually due to CMake 2 and CMake 3 differences.

> The core of the issue appeared to be single backslash instead of double
> at the comment in CMakeLists.txt file, which should pass the cmake
> syntax rules.

I would stay on safe side and just don't carry the line.

See, `cmake` -LAH outputs on cmake 3.16:

// Feedback daemon which reports debug data to\
the Tarantool team
ENABLE_FEEDBACK_DAEMON:BOOL=ON

Your way adds literal newline to the option help string on CMake 3.
Don't sure how it would work with, say, some external tools (an IDE?).

I look over similar issues in another projects and nobody actually
carry option() help strings.

It is also interesting that newlines are not supported for cached values
in CMake 3.11+ (see [1]), however I don't see any warning in our case.

That everything looks fragile. I changed the commit to don't carry the
line and pushed to master. Hope you don't mind.

[1]: https://bitbucket.org/osrf/gazebo/issues/2664/cmake-311-will-stop-supporting-multiline

> 
> Follow up #3308
> ---
> 
> Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-3308-fix-commit-full-ci
> 
>  src/box/CMakeLists.txt | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/box/CMakeLists.txt b/src/box/CMakeLists.txt
> index 5ed7eaead..d4abccc82 100644
> --- a/src/box/CMakeLists.txt
> +++ b/src/box/CMakeLists.txt
> @@ -3,7 +3,7 @@ file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/src/box/lua)
>  # Sometimes 'spying' code is not acceptable even if it would be
>  # disabled by default. That option allows to remove the feedback
>  # daemon from the build completely.
> -option(ENABLE_FEEDBACK_DAEMON "Feedback daemon which reports debug data to \
> +option(ENABLE_FEEDBACK_DAEMON "Feedback daemon which reports debug data to \\
>  the Tarantool team" ON)
>  
>  add_subdirectory(sql)
> -- 
> 2.17.1
> 


More information about the Tarantool-patches mailing list