docker - cmake OUTPUT_VARIABLE 不适用于 docker build
问题描述
使用 cmake 运行 docker build 时出现一个奇怪的问题。
如果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