I'm trying to debug a package that uses cmake to build "out of tree". It looks like the build happens in a directory called "redhat-linux-build". Is there a macro that contains that string?
Steve
On Fri, 24 Jun 2022 11:36:18 -0400 "Steven A. Falco" stevenfalco@gmail.com wrote:
I'm trying to debug a package that uses cmake to build "out of tree". It looks like the build happens in a directory called "redhat-linux-build". Is there a macro that contains that string?
[dan@talos linux]$ rpmbuild --eval %cmake
... /usr/bin/cmake \ -S "." \ -B "redhat-linux-build" \ -DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \ -DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \ -DCMAKE_Fortran_FLAGS_RELEASE:STRING="-DNDEBUG" \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF \ -DCMAKE_INSTALL_PREFIX:PATH=/usr \ -DINCLUDE_INSTALL_DIR:PATH=/usr/include \ -DLIB_INSTALL_DIR:PATH=/usr/lib64 \ -DSYSCONF_INSTALL_DIR:PATH=/etc \ -DSHARE_INSTALL_PREFIX:PATH=/usr/share \ %if "lib64" == "lib64" -DLIB_SUFFIX=64 \ %endif -DBUILD_SHARED_LIBS:BOOL=ON
On 6/24/22 11:51 AM, Dan Horák wrote:
On Fri, 24 Jun 2022 11:36:18 -0400 "Steven A. Falco" stevenfalco@gmail.com wrote:
I'm trying to debug a package that uses cmake to build "out of tree". It looks like the build happens in a directory called "redhat-linux-build". Is there a macro that contains that string?
[dan@talos linux]$ rpmbuild --eval %cmake
... /usr/bin/cmake \ -S "." \ -B "redhat-linux-build" \ -DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \ -DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \ -DCMAKE_Fortran_FLAGS_RELEASE:STRING="-DNDEBUG" \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF \ -DCMAKE_INSTALL_PREFIX:PATH=/usr \ -DINCLUDE_INSTALL_DIR:PATH=/usr/include \ -DLIB_INSTALL_DIR:PATH=/usr/lib64 \ -DSYSCONF_INSTALL_DIR:PATH=/etc \ -DSHARE_INSTALL_PREFIX:PATH=/usr/share \ %if "lib64" == "lib64" -DLIB_SUFFIX=64 \ %endif -DBUILD_SHARED_LIBS:BOOL=ON
Perfect. Thanks.
Steve
$ rpmbuild --showrc
The definition for %cmake is quite long, but includes this line: %{!?__cmake_in_source_build:-B "%{__cmake_builddir}"} \
%__cmake_builddir is defined as: %{!?__cmake_in_source_build:%{_vpath_builddir}}%{?__cmake_in_source_build:.}
And then %_vpath_builddir is defined as: %{_vendor}-%{_target_os}-build
So that's where "redhat-linux-build" comes from.
A.FI.