Hi, In my project, I use cmake to construct the building system, I need to build an external project(here, I take zeromq for example) with ExternalProject_add, then pack the compiled binaries in a RPM package, but I need the generated RPM to have correct "PROVIDES" information to tell which libraries it provides, just like below
libzmq.so.5()(64bit) zeromq = 4.1.2-1.el7 zeromq(x86-64) = 4.1.2-1.el7 But somehow, with setting CPACK_RPM_PACKAGE_AUTOPROV to 1, the built RPM still doesn't have correct 'PROVIDES' information, I will get 'PROVIDES' information below, without the provided libraries information zeromq = 4.1.2-1 zeromq(x86-64) = 4.1.2-1 the CMakeLists.txt(just some key content) for this is cmake_minimum_required (VERSION 3.4.0 FATAL_ERROR) set(COMP zeromq) set(CompVersion 4.1.2) set(CompURL http://download.zeromq.org/zeromq-${CompVersion}.tar.gz) set(CompMD5 159c0c56a895472f02668e692d122685) project(${COMP} VERSION ${CompVersion}) include(ExternalProject) ExternalProject_add(${COMP} PREFIX ${COMP} URL ${CompURL} URL_MD5 ${CompMD5} CONFIGURE_COMMAND <SOURCE_DIR>/configure --without-libsodium --prefix=${CMAKE_INSTALL_PREFIX}) install(FILES ${CMAKE_INSTALL_PREFIX}/lib/libzmq.so.5 ${CMAKE_INSTALL_PREFIX}/lib/libzmq.so ${CMAKE_INSTALL_PREFIX}/lib/libzmq.so.5.0.0 DESTINATION lib64) string(REPLACE "." ";" VERSION_LIST ${PROJECT_VERSION}) list(LENGTH VERSION_LIST VERSION_LIST_LENGTH) list(GET VERSION_LIST 0 CPACK_PACKAGE_VERSION_MAJOR) list(GET VERSION_LIST 1 CPACK_PACKAGE_VERSION_MINOR) if(VERSION_LIST_LENGTH GREATER 2) list(GET VERSION_LIST 2 CPACK_PACKAGE_VERSION_PATCH) endif() set(CPACK_GENERATOR "RPM") set(CPACK_PACKAGE_VENDOR "Test") set(CPACK_RPM_PACKAGE_GROUP "3rd-party-software") set(CPACK_RPM_PACKAGE_AUTOPROV 1) set(CPACK_RPM_PACKAGE_AUTOREQ 0) set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION /usr/lib /usr/lib64) set(CPACK_RPM_COMPONENT_INSTALL OFF) include(CPack) Does someone know why this "CPACK_RPM_PACKAGE_AUTOPROV" option doesn't take effect? how can I make it auto generates these 'PROVIDES' information in the RPM? thanks for your time and it will be very appreciated if you can provide some hints. Wang Peng (Rex)
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake