2008/7/15 Matthew Woehlke <[EMAIL PROTECTED]>: >>> I'm trying to build an rpm of OpenGTL, with no success. I added >>> 'set(CPACK_GENERATOR "TGZ;RPM")' and 'include(CPack)' to the >>> CMakeLists.txt,
Can you confirm you are using CMake 2.6.0 ? Then how do you invoke CPack? cpack -G RPM? make package? >>> but when I try to build the RPM, it wants to write to /usr (ah, shouldn't >>> rpm building NOT need to install first?!), and if I run it as root, it >>> installs but yields an empty rpm. CPack RPM shouldn't try to write to /usr unless there is some abolsute installed path _and_ you are not setting SET(CPACK_SET_DESTDIR "ON") **** Before include(CPack) **** > > ...no change that I can see. Ah, should I be setting CMAKE_INSTALL_PREFIX to > anything special? No any install prefix should work, however The root CMakeLists.txt of http://www.opengtl.org/download/OpenGTL-0.9.4.tar.bz2 reads: set(LIB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/) set(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include/) set(BIN_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/bin/) set(SHARE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/share/OpenGTL/) then in CMakeLists.txt in subdirectories one reads (for example) install( TARGETS ctli DESTINATION ${BIN_INSTALL_DIR} ) thus here you use "ABSOLUTE PATH" in install command. you should set(BIN_INSTALL_DIR "bin") and then install( TARGETS ctli DESTINATION ${BIN_INSTALL_DIR}) is a relative (to CMAKE_INSTALL_PREFIX) install command. Now could you try 2 things: 1) Check that you inserted SET(CPACK_SET_DESTDIR "ON") **** Before include(CPack) **** in the main CMakeLists.txt and retry If it fails would you try to go to your build directory and run: cpack -D CPACK_RPM_PACKAGE_DEBUG=1 -G RPM 2) Change your absolute path to relative ones and retry. As a last question, you tell us RPM is not working but is TGZ ok ? I think TGZ should suffer of the same trouble. -- Erk _______________________________________________ CMake mailing list [email protected] http://www.cmake.org/mailman/listinfo/cmake
