On Sun, Jul 5, 2020 at 8:20 AM Neal Gompa <ngomp...@gmail.com> wrote:
> On Sun, Jul 5, 2020 at 9:16 AM Richard Shaw <hobbes1...@gmail.com> wrote: > > > > I saw the change notification but didn't know it went in to > "production". I was trying to build OpenImageIO in rawhide and it failed, > because I was already doing an out of source build which it appended > "%{_arch}-redhat-linux-gnu" or something like that to. > > > > So I looked up the guidelines for CMake which state: > > > > %build > > %cmake . > > %make_build > > > > > > Oookay... Now OIIO CMake config is giving me: > > > > CMake Error at CMakeLists.txt:50 (message): > > Not allowed to run in-source build! > > > > And low and behold I see new options being passed to CMake... > > > > + /usr/bin/cmake -S . -B . > > > > Which point the source and binary locations to the same directory. > > > > So I was all for the change other than the fact I was already doing > out-of-source builds for all of the CMake packages I maintain, which this > breaks, and right now the "automagic" seems to be broken as well. > > > > Temporarily, we have %__cmake_in_source_build set, which forces back > the legacy behavior. You can switch to the upcoming out of source > default by adding the following to the top of your spec: > > # Force out of source build > %undefine __cmake_in_source_build > > With that, you can use %cmake with no arguments and everything should work > fine. Well, both ways seem to be broken now. If I use the out-of-source build, cmake works fine but apparently %make_build doesn't auto-change to the generated directory. Am I expected to know the direcotory pattern and handle it myself? If so this seems like a major step backwards. If I allow in source builds it adds the "-S . -B ." and even though I make my own directory and point back to it "%cmake ... ../" it still fails the projects in source build check: + /usr/bin/cmake -S . -B . -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_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 -DLIB_SUFFIX=64 -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_SKIP_RPATH:BOOL=TRUE -DPYTHON_VERSION=3.9 -DBUILD_DOCS:BOOL=TRUE -DINSTALL_DOCS:BOOL=FALSE -DINSTALL_FONTS:BOOL=FALSE -DUSE_EXTERNAL_PUGIXML:BOOL=TRUE -DSTOP_ON_WARNING:BOOL=FALSE -DJPEG_INCLUDE_DIR=/usr/include -DOPENJPEG_INCLUDE_DIR=/usr/include/openjpeg-2.3 -DOpenGL_GL_PREFERENCE=GLVND -DVERBOSE=TRUE ../ -- The CXX compiler identification is GNU 10.1.1 -- The C compiler identification is GNU 10.1.1 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/g++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/gcc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Building OpenImageIO 2.1.17.0 -- CMake version is 3.18.0-rc3 -- Configuring OpenImageIO 2.1.17.0 -- CMake 3.18.0-rc3 -- CMake system = Linux-5.6.19-300.fc32.x86_64 -- CMake system name = Linux -- Project source dir = /builddir/build/BUILD/oiio-Release-2.1.17.0 -- Project build dir = /builddir/build/BUILD/oiio-Release-2.1.17.0 -- Project install prefix = /usr -- Configuration types = -- Build type = RelWithDebInfo CMake Error at CMakeLists.txt:50 (message): Not allowed to run in-source build! Thanks, Richard
_______________________________________________ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org