> I have a slightly unusual question (I guess). Is it possible somehow to force > CPack to produce RPM files from projects that have build problems? > > We use CMake in our nightly build system to test the latest changes in our > software. When a build problem occurs we don't want the whole build to fail. > To this end, we run the build with: > > make -k > make -k install/fast > > This second target executes the installation no matter what. (We set all our > build results as "optional installations".) So that at least the "successful > part" of the build would become visible on a shared filesystem. > > Now, I'd like to do something similar with CPack. To make it behave like > "install/fast" does. All in all, I'd like to tell it to use this > "install/fast" target while creating the package instead of the "install" > target. Is there any way of making this happen?
I don't know of any clean way to do this but you could write an install script (let's name it install_k.sh): #!/bin/bash make -k install/fast exit 0 Then your would add two CPACK variables to your CMakeLists.txt: #set(CPACK_RPM_COMPONENT_INSTALL "ON") <- I'll explain this commented line later set(CPACK_INSTALL_CMAKE_PROJECTS "") set(CPACK_INSTALL_COMMANDS "${CMAKE_CURRENT_SOURCE_DIR}/install_k.sh") And instead of packaging with "make package" command execute "cpack -G RPM". However there is an additional problem that this hack only works for monolithic packages (that's why I commented out CPACK_RPM_COMPONENT_INSTALL in example above) so you will have to disable component packages generation if you are using it. Regards, Domen 2016-01-20 11:26 GMT+01:00 Attila Krasznahorkay <attila.krasznahor...@gmail.com>: > Dear All, > > I have a slightly unusual question (I guess). Is it possible somehow to force > CPack to produce RPM files from projects that have build problems? > > We use CMake in our nightly build system to test the latest changes in our > software. When a build problem occurs we don't want the whole build to fail. > To this end, we run the build with: > > make -k > make -k install/fast > > This second target executes the installation no matter what. (We set all our > build results as "optional installations".) So that at least the "successful > part" of the build would become visible on a shared filesystem. > > Now, I'd like to do something similar with CPack. To make it behave like > "install/fast" does. All in all, I'd like to tell it to use this > "install/fast" target while creating the package instead of the "install" > target. Is there any way of making this happen? > > Cheers, > Attila > -- > > 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 -- 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