(→Notes) |
|||
Line 1: | Line 1: | ||
= Guidelines for cmake = | = Guidelines for cmake = | ||
This document provides cmake best-practices for generating Fedora RPMS using cmake | |||
Line 13: | Line 11: | ||
If kde-filesystem is installed, see /etc/rpm/macros.kde4 | If kde-filesystem is installed, see /etc/rpm/macros.kde4 | ||
{{Anchor|cmakeUsage}} | {{Anchor|cmakeUsage}} |
Revision as of 14:32, 31 March 2011
Guidelines for cmake
This document provides cmake best-practices for generating Fedora RPMS using cmake
RPM Macros
If cmake is installed, see /etc/rpm/macros.cmake
If kde-filesystem is installed, see /etc/rpm/macros.kde4
Specfile Usage
%build %cmake . make %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT %check ctest
Notes
NOTE: -DCMAKE_SKIP_RPATH:BOOL=ON
. With recent cmake-2.4, it should not be used. This cmake version should hand RPATHs issues correctly (set them in build-dir, remove them during installation). Setting CMAKE_SKIP_RPATH
for this version would avoid RPATHs in build-dir too. This might link binaries against system-libraries (e.g. when a previous version of the package was installed) instead of the libraries which were created by the build.
Nevertheless, RPATH issues might arise when cmake was used improperly. E.g. installing a target with INSTALL(FILES ... RENAME ...)
will not strip rpaths; in this case INSTALL(TARGETS ...)
must be used in combination with changing the OUTPUT_NAME
property.
NOTE: cmake has good documentation in two places: