[CMake] CMake & RPM problems
Eric Noulard
eric.noulard at gmail.com
Tue May 5 05:08:20 EDT 2009
2009/5/5 Florent Lagaye <florent.lagaye at inrialpes.fr>:
> Hi everybody,
>
> I'm a big cmake fan, I use to generate kdevelop projects and makefile.
> Now that my application as achieved an "acceptable" completion level, I
> think about deployment.
>
> So, I started using CPack from within CMake (2.6) (via my CMakeLists.txt
> file). But I can't manage to build an rpm package.
>
> Here is my CMakeLists.txt file :
>
> [code]
> cmake_minimum_required(VERSION 2.6)
>
> PROJECT( viewer4d )
>
> SET( VERSION 1.0.0 )
>
> SET( ${PROJECT_NAME}_MAJOR_VERSION 1 )
> SET( ${PROJECT_NAME}_MINOR_VERSION 0 )
> SET( ${PROJECT_NAME}_PATCH_LEVEL 0 )
>
> SET( PACKAGE_VERSION
> ${viewer4d_MAJOR_VERSION}.${viewer4d_MINOR_VERSION}.${viewer4d_PATCH_LEVEL}
> )
> SET( CPACK_PACKAGE_VERSION_MAJOR ${viewer4d_MAJOR_VERSION} )
> SET( CPACK_PACKAGE_VERSION_MINOR ${viewer4d_MINOR_VERSION} )
> SET( CPACK_PACKAGE_VERSION_PATCH ${viewer4d_PATCH_LEVEL} )
> SET( CPACK_PACKAGE_VERSION
> ${viewer4d_MAJOR_VERSION}.${viewer4d_MINOR_VERSION}.${viewer4d_PATCH_LEVEL}
> )
> SET( CPACK_PACKAGE_DESCRIPTION_SUMMARY "A 4D viewer")
> SET( CPACK_PACKAGE_VENDOR "INRIA - Florent LAGAYE")
> SET( CPACK_SOURCE_PACKAGE_FILE_NAME "viewer4d-${VERSION}" CACHE INTERNAL
> "tarball basename" )
> SET(CPACK_SOURCE_IGNORE_FILES
> "~$"
> "^${PROJECT_SOURCE_DIR}.*/.svn/"
> )
>
[...]
> )
> [/code]
I didn't see INCLUDE(CPack) in your CMakeLists.txt, I must be there
in order to make CPack work.
You should INCLUDE(CPack) after your have defined you own
CPACK_xxxx vars.
>
> And here is what "make viewer4d_rpm" tells me :
>
You are trying to use UseRPMTools.cmake instead of the builtin
CMake/CPack 2.6 RPM support, see:
http://www.cmake.org/Wiki/CMake:CPackPackageGenerators#RPM_.28Unix_Only.29
> What am I missing here ?
With CPack 2.6 you should be able to do:
cd /to/build_dir
cpack -G RPM
or you may set
SET(CPACK_GENERATOR "TGZ;ZIP;RPM")
or any list of appropriate CPack generator you want to use when launching
make package.
--
Erk
More information about the CMake
mailing list