Hello Mark, Rony IMO the logic to determine the installation directory structure is broken
Create a test directory with the following CMakeLists.txt #[[ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CMakeLists.txt Copyright Enrico Sorichetti 2018 - 2019 Distributed under the Boost Software License, Version 1.0. (See accompanying file BOOST_LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #]] #[[ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specify that the current CMake code is written for the given version of CMake. All policies introduced in the specified version or earlier will be set to use ``NEW`` behavior. #]] cmake_minimum_required( VERSION 3.14 ) #[[ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dummy project #]] project( dummmy ) #[[ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #]] function( vsnap ) set( _args "${ARGV}" ) list( SORT _args ) list( REMOVE_DUPLICATES _args ) set( _selvars "" ) get_cmake_property( _allvars VARIABLES ) foreach( _argv IN LISTS _args ) string( REGEX MATCH "([^\\*]*)" _head "${_argv}" ) if( _head STREQUAL _argv ) list( APPEND _selvars "${_argv}" ) continue() endif() string (REGEX MATCHALL "(^|;)${_head}[A-Za-z0-9_]*" _vars "${_allvars}") foreach( _var IN LISTS _vars ) if( "${_var}" STREQUAL "" ) continue() endif() list( APPEND _selvars "${_var}" ) endforeach() endforeach() list( SORT _selvars ) list( REMOVE_DUPLICATES _selvars ) foreach( _var IN LISTS _selvars ) message( "[[ ${_var} '${${_var}}' " ) endforeach() return() endfunction() #[[ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #]] include( GNUInstallDirs ) vsnap( "CMAKE_INSTALL_*") Running cmake it will show a GNU compliant install directory structure Tested on Fedora30 it returned [[ CMAKE_INSTALL_BINDIR 'bin' [[ CMAKE_INSTALL_DATADIR 'share' [[ CMAKE_INSTALL_DATAROOTDIR 'share' [[ CMAKE_INSTALL_DEFAULT_COMPONENT_NAME 'Unspecified' [[ CMAKE_INSTALL_DOCDIR 'share/doc/dummmy' [[ CMAKE_INSTALL_FULL_BINDIR '/usr/local/bin' [[ CMAKE_INSTALL_FULL_DATADIR '/usr/local/share' [[ CMAKE_INSTALL_FULL_DATAROOTDIR '/usr/local/share' [[ CMAKE_INSTALL_FULL_DOCDIR '/usr/local/share/doc/dummmy' [[ CMAKE_INSTALL_FULL_INCLUDEDIR '/usr/local/include' [[ CMAKE_INSTALL_FULL_INFODIR '/usr/local/share/info' [[ CMAKE_INSTALL_FULL_LIBDIR '/usr/local/lib64' [[ CMAKE_INSTALL_FULL_LIBEXECDIR '/usr/local/libexec' [[ CMAKE_INSTALL_FULL_LOCALEDIR '/usr/local/share/locale' [[ CMAKE_INSTALL_FULL_LOCALSTATEDIR '/usr/local/var' [[ CMAKE_INSTALL_FULL_MANDIR '/usr/local/share/man' [[ CMAKE_INSTALL_FULL_OLDINCLUDEDIR '/usr/include' [[ CMAKE_INSTALL_FULL_RUNSTATEDIR '/usr/local/var/run' [[ CMAKE_INSTALL_FULL_SBINDIR '/usr/local/sbin' [[ CMAKE_INSTALL_FULL_SHAREDSTATEDIR '/usr/local/com' [[ CMAKE_INSTALL_FULL_SYSCONFDIR '/usr/local/etc' [[ CMAKE_INSTALL_INCLUDEDIR 'include' [[ CMAKE_INSTALL_INFODIR 'share/info' [[ CMAKE_INSTALL_LIBDIR 'lib64' [[ CMAKE_INSTALL_LIBEXECDIR 'libexec' [[ CMAKE_INSTALL_LOCALEDIR 'share/locale' [[ CMAKE_INSTALL_LOCALSTATEDIR 'var' [[ CMAKE_INSTALL_MANDIR 'share/man' [[ CMAKE_INSTALL_OLDINCLUDEDIR '/usr/include' [[ CMAKE_INSTALL_PREFIX '/usr/local' [[ CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT '1' [[ CMAKE_INSTALL_RUNSTATEDIR 'var/run' [[ CMAKE_INSTALL_SBINDIR 'sbin' [[ CMAKE_INSTALL_SHAREDSTATEDIR 'com' [[ CMAKE_INSTALL_SO_NO_EXE '0' [[ CMAKE_INSTALL_SYSCONFDIR 'etc' Note how it correctly determined that the libraries should be installed into lib64 Cheers Enrico PS. The changes to the ooRexx CMakeLists are minimal The destination directories should be defined as variables properly initialised, rather than hardcoded > On 14 Aug 2019, at 06:10, Mark Hessling <m...@rexx.org> wrote: > > Hi Rony, > > I had the same issue when I made the changes to the CMake processing to build > the RPM. To get the configurability of update-alternatives I had to use a > user-supplied spec file rather than the CMake-generated one. This appears to > have caused CMake to not understand where the generated RPM file is. > I updated my CMake to CMake v3 and didn't get the error, however this version > of CMake ignored the name of the RPM file and used its own name. > > I don't know CMake enough to determine how to fix the build issue. > Cheers, Mark > On 13/8/19 10:53 pm, Rony G. Flatscher wrote: >> Hi there, >> >> <https://sourceforge.net/p/oorexx/bugs/1645/> >> <https://sourceforge.net/p/oorexx/bugs/1645/> reports a problem when using >> CMake to create a rpm package for ooRexx on Linux (used to work) using the >> command "cpack ./" after successfully running "cmake -DBUILD_RPM=1 >> -DOS_DIST=fedora -DCMAKE_BUILD_TYPE=Release path-2-oorexx-trunk" followed by >> "make". >> >> The reason seems that the "make" step creates the so-files in >> >> "../_CPack_Packages/Linux/RPM/ooRexx-5.0.0-11902.fedora.x86_64/usr/lib/..." >> whereas cpack tries to copy from >> >> >> "../_CPack_Packages/Linux/RPM/ooRexx-5.0.0-11902.fedora.x86_64/usr/lib64/..." >> >> which does not exist causing error messages and the abortion of the rpm >> building step. >> >> Any ideas how to fix this? >> >> TIA, >> ---rony >> >> >> >> _______________________________________________ >> Oorexx-devel mailing list >> Oorexx-devel@lists.sourceforge.net >> <mailto:Oorexx-devel@lists.sourceforge.net> >> https://lists.sourceforge.net/lists/listinfo/oorexx-devel >> <https://lists.sourceforge.net/lists/listinfo/oorexx-devel> > -- > ------------------------------------------------------------------------ > * Mark Hessling, m...@rexx.org <mailto:m...@rexx.org> http://www.rexx.org/ > <http://www.rexx.org/> > * Author of THE, a Free XEDIT/KEDIT editor and, Rexx/SQL, Rexx/CURL, etc. > * Maintainer of Regina Rexx interpreter > * Use Rexx? join the Rexx Language Association: http://www.rexxla.org/ > <http://www.rexxla.org/> > ------------------------------------------------------------------------ > _______________________________________________ > Oorexx-devel mailing list > Oorexx-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/oorexx-devel
_______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel