CMake在ubuntu 16.04 docker映像上自动生成了Makefile,并将“//”前置于目标
我有一个docker形象build立如下:
FROM ubuntu:latest MAINTAINER xyz COPY apt.conf /etc/apt/ RUN apt-get -y update RUN apt-get -y install cmake RUN apt-get -y install libc++-dev RUN apt-get -y install build-essential RUN apt-get -y install beignet opencl-headers RUN apt-get -y install mlocate RUN updatedb RUN mkdir /usr/local/code COPY code /usr/local/code RUN mkdir /usr/local/build RUN cmake /usr/local/code/ CMD make
CMake自动生成的Makefile的目标如下:
all:$(MAKE)-f CMakeFiles / Makefile2 // all
为什么CMake首先添加这个额外的“//”?
运行make失败,因为它找不到与目标// all有关的规则
make[1]: *** No rule to make target '//all'. Stop. Makefile:160: recipe for target 'all' failed make: *** [all] Error 2
在Ubuntu的不同机器上自动生成相同的Makefile(没有“/”)工作正常。 请指教。