cmake OUTPUT_VARIABLE не работает со сборкой докера - PullRequest
0 голосов
/ 31 октября 2019

При запуске docker build с помощью cmake возникает странная проблема.

При непосредственном запуске cmake . прекрасно работает сообщение о том, что версия get_version.sh получена как !!!! Warning !!!! build version <1.6.3>.

Но если попытаться построить изображение из docker build . -t test, оно показывает только !!!! Warning !!!! build version <>.

Это довольно странно! Кто-нибудь имеет какие-либо идеи по этому вопросу?

Dockerfile

FROM alpine:3.10

RUN mkdir build
WORKDIR /build

RUN apk add --update build-base cmake

COPY CMakeLists.txt CMakeLists.txt
COPY get_version.sh get_version.sh
RUN cmake .

CMakeLists.txt

cmake_minimum_required(VERSION 3.14)
project("testcmake")

execute_process(COMMAND chmod 777 ./get_version.sh)

execute_process(COMMAND ./get_version.sh
    OUTPUT_VARIABLE
    VERSION_INFO)
MESSAGE(STATUS "!!!! Warning !!!! build version <${VERSION_INFO}>")

get_version.sh

#!/bin/bash
set -x
retval=$(echo -ne "1.6.3")
echo -ne $retval
...