Description of problem:
In Fedora 33 the %cmake macro changed to use out-of-source builds by default.
The new macro is backported to Fedora 31 and 32, where the new behaviour is not the default in order not introduce breakage in released Fedora. But it can be used there by adding
to the specfile.
The new macro has also been backported to the %cmake3 macro in the cmake3 package in EPEL 7, where the new behaviour is also not the default but can be activated by undefining __cmake3_in_source_build.
Which leaves EPEL 8 as a special case where the new macro can not be used.
While cmake3 in EPEL 7 is an EPEL package that can be adapted to the new macro in EPEL, cmake in EPEL 8 is a RHEL package. So unless redhat can be persuaded to updated the package in RHEL to provide the new functionality, the %cmake macro must be overridden in EPEL 8 if the new functionality should be provided.
Note that the cmake version if RHEL 8 (3.11.4) does not support the -S and -B flags, so the macro must be reimplemented to not use these in EPEL 8.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Add %undefine __cmake_in_source_build to an EPEL 8 specfile
2. Build the package expecting the behaviour of the new %cmake makro
3. See it fail
FEDORA-EPEL-2020-996d6678c8 has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-996d6678c8
FEDORA-EPEL-2020-996d6678c8 has been pushed to the Fedora EPEL 8 stable repository.
If problem still persists, please make note of it in this bug report.