Hi,

I'm trying to create a RPM package of Pan 0.163 for Fedora Linux, but some files are not installed in the desired directory.

The default values of the cmake variables are as follows:

${CMAKE_INSTALL_BINDIR}         = bin
${CMAKE_INSTALL_DATAROOTDIR}    = share

For Fedora Linux I've set them to usr/bin and usr/share in CMake.txt:


# Installation
# https://cmake.org/cmake/help/book/mastering-cmake/chapter/Install.html
# https://cmake.org/cmake/help/latest/command/install.html

#This works as expected:

set(CMAKE_INSTALL_BINDIR "usr/bin")                   # added
install(TARGETS pan DESTINATION ${CMAKE_INSTALL_BINDIR})

set(CMAKE_INSTALL_DATAROOTDIR "usr/share")            # added

# works as expected:

set(meta "org.gnome.pan.metainfo.xml")
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/${meta}.in" "${CMAKE_CURRENT_BINARY_DIR}/${meta}")
install(
  FILES "${CMAKE_CURRENT_BINARY_DIR}/${meta}"
  DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo"
)

# the follwoing doesn't work as I expect:

file(MAKE_DIRECTORY "${CMAKE_INSTALL_DATAROOTDIR}/man/man1")
file(COPY_FILE "${CMAKE_CURRENT_SOURCE_DIR}/pan.1" "${CMAKE_INSTALL_DATAROOTDIR}/man/man1/pan.1")
install(DIRECTORY "${CMAKE_INSTALL_DATAROOTDIR}/man/man1" TYPE MAN)


Output of the install procedure:

cmake --install std-build --prefix rpm
....
....
-- Installing: /home/user/rpmbuild/pan-test/rpm/usr/bin/pan     # OK
-- Installing: /home/user/rpmbuild/pan-test/rpm/usr/share/metainfo/org.gnome.pan.metainfo.xml # OK -- Installing: /home/user/rpmbuild/pan-test/rpm/usr/share/applications/org.gnome.pan.desktop # OK -- Installing: /home/user/rpmbuild/pan-test/rpm/usr/share/dbus-1/services/org.gnome.pan.service # OK -- Installing: /home/user/rpmbuild/pan-test/rpm/share/man/man1 # not usr/share -- Installing: /home/user/rpmbuild/pan-test/rpm/share/man/man1/pan.1 # not usr/share

I've tried hardcoded path (for testing), same problem:

file(MAKE_DIRECTORY "usr/share/man/man1")
file(COPY_FILE "${CMAKE_CURRENT_SOURCE_DIR}/pan.1" "usr/share/man/man1/pan.1")
install(DIRECTORY "usr/share/man/man1" TYPE MAN)

Maybe someone has an idea what's wrong?


Best regards
Detlef



_______________________________________________
Pan-users mailing list
Pan-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/pan-users

Reply via email to