一个关于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 上是这样。