如何在规范文件 (rpmbuild) 中将 DMAKE 和 DUSE 标志传递给 cmake

如何在规范文件 (rpmbuild) 中将 DMAKE 和 DUSE 标志传递给 cmake

一个关于cmake和spec的快速问题。

如果我使用这些命令手动编译:

export CFLAGS="-O2 -fpic"
  cmake . \
 -DCMAKE_CXX_FLAGS:STRING="$CFLAGS" \
 -DCMAKE_C_FLAGS:STRING="$CFLAGS" \
 -DCMAKE_VERBOSE_MAKEFILE:BOOL="TRUE" \
 -DCMAKE_INSTALL_PREFIX=/usr \
 -DCMAKE_INSTALL_MANDIR=/usr/man \
 -DSYSCONF_INSTALL_DIR=/etc \
 -DUSE_SSL=1 \
 -DUSE_KRB5=1
make
make install

一切正常。我想创建一个 rpm,所以我编辑 .spec 文件来构建:

%cmake .
make

问题是:如何将 DMAKE 和 DUSE 标志传递给规范?谢谢

答案1

改变这个:

export CFLAGS="-O2 -fpic"
  cmake . \
 -DCMAKE_CXX_FLAGS:STRING="$CFLAGS" \
 -DCMAKE_C_FLAGS:STRING="$CFLAGS" \
 -DCMAKE_VERBOSE_MAKEFILE:BOOL="TRUE" \
 -DCMAKE_INSTALL_PREFIX=/usr \
 -DCMAKE_INSTALL_MANDIR=/usr/man \
 -DSYSCONF_INSTALL_DIR=/etc \
 -DUSE_SSL=1 \
 -DUSE_KRB5=1
make
make install

进入这个:

export CFLAGS="-O2 -fpic"
  %cmake . \
 -DCMAKE_CXX_FLAGS:STRING="$CFLAGS" \
 -DCMAKE_C_FLAGS:STRING="$CFLAGS" \
 -DCMAKE_VERBOSE_MAKEFILE:BOOL="TRUE" \
 -DCMAKE_INSTALL_PREFIX=/usr \
 -DCMAKE_INSTALL_MANDIR=/usr/man \
 -DSYSCONF_INSTALL_DIR=/etc \
 -DUSE_SSL=1 \
 -DUSE_KRB5=1
make
make install

在规范文件中。

直接使用 cmake(不使用%)可以工作,至少在 openSUSE 15 上是这样。

相关内容