[CMake] CMake & RPM problems

Florent Lagaye florent.lagaye at inrialpes.fr
Tue May 5 04:29:05 EDT 2009


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/"
)

FIND_PACKAGE( OpenGL REQUIRED )

FIND_PACKAGE( Qt4 REQUIRED )

SET( QT_USE_QTCORE 1 )
SET( QT_USE_QTGUI 1 )
SET( QT_USE_QTXML 1 )
SET( QT_USE_QTOPENGL 1 )

INCLUDE( ${QT_USE_FILE} )

SET( CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake_modules )

SET( viewer4d_SRCS
 main.cpp
 Application.h         Application.cpp
 Camera.h              Camera.cpp
 DisplayCamera.h       DisplayCamera.cpp
 Debug.h               Debug.cpp
 Exception.h           Exception.cpp
 Frame.h               Frame.cpp
 Matrix.h
 Mesh.h                Mesh.cpp
 ProgressWindow.h      ProgressWindow.cpp
 Quaternion.h          Quaternion.cpp
 Selectable.h          Selectable.cpp
 Positionable.h        Positionable.cpp
 Sequence.h            Sequence.cpp
 SequenceCollection.h  SequenceCollection.cpp
 Setup.h               Setup.cpp
 StreamDumper.h        StreamDumper.cpp
 Streamer.h            Streamer.cpp
 StreamFile.h          StreamFile.cpp
 StreamFile_0_2.h      StreamFile_0_2.cpp
 Timer.h               Timer.cpp
 ToolBox.h             ToolBox.cpp
 TriState.h            TriState.cpp
 Vector.h              Vector.cpp
 Viewer3d.h            Viewer3d.cpp
 ViewerWindow.h        ViewerWindow.cpp
 Light.h               Light.cpp
)

SET( viewer4d_UIS
 Viewer4dMainWindow.ui
 ProgressWindow.ui
 CameraDock.ui AnimationDock.ui DisplayDock.ui
 MeshDock.ui SequenceDock.ui TextureDock.ui
 LightDock.ui
)

SET( viewer4d_RCS viewer4d.qrc )

SET( viewer4d_MOCS Application.h ViewerWindow.h ProgressWindow.h Light.h
Selectable.h Positionable.h Viewer3d.h )

QT4_ADD_RESOURCES( viewer4d_SRCS ${viewer4d_RCS} )

QT4_WRAP_CPP( viewer4d_SRCS ${viewer4d_MOCS} )

QT4_WRAP_UI( viewer4d_SRCS ${viewer4d_UIS} )

INCLUDE_DIRECTORIES(
   ${PROJECT_SOURCE_DIR}
   ${PROJECT_BINARY_DIR}
   ${QT_INCLUDE_DIR}
   ${QT_QTXML_INCLUDE_DIR}
   ${QT_QTGUI_INCLUDE_DIR}
   ${QT_QTCORE_INCLUDE_DIR}
   ${QT_QTOPENGL_INCLUDE_DIR}
   ${OPENGL_INCLUDE_DIR}
)

SET( CMAKE_CXX_FLAGS "-Wall" )
SET( CMAKE_CXX_FLAGS_RELEASE "-O3 -DV4D_DEBUG_LVL=2" )
SET( CMAKE_CXX_FLAGS_DEBUG "-g -O0 -DV4D_DEBUG_LVL=3 -DV4D_PROFILING" )
SET( CMAKE_CXX_FLAGS_PROFILE "-pg -O3" )

ADD_EXECUTABLE( viewer4d ${viewer4d_SRCS} )

TARGET_LINK_LIBRARIES( viewer4d
   ${QT_QTXML_LIBRARY_DEBUG}
   ${QT_QTGUI_LIBRARY_DEBUG}
   ${QT_QTCORE_LIBRARY_DEBUG}
   ${QT_QTOPENGL_LIBRARY_DEBUG}
   ${OPENGL_LIBRARY}
)

INSTALL( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../example DESTINATION
share/viewer4d )
INSTALL( FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/v4d.svg DESTINATION
share/viewer4d )
INSTALL(TARGETS viewer4d
 RUNTIME DESTINATION bin
 LIBRARY DESTINATION lib
 ARCHIVE DESTINATION lib
)
[/code]


*And here is what "make viewer4d_rpm" tells me :*

[code]
Scanning dependencies of target viewer4d_rpm
CPack: Create package using TGZ
CPack: Install projects
CPack: - Install directory: /local_scratch/lagaye/viewer4d/src
CPack: Compress package
CPack: Finalize package
CPack: Package
/local_scratch/lagaye/viewer4d/bin.release/viewer4d-1.0.0.tar.gz generated.
Exécution_de(%prep): /bin/sh -e /var/tmp/rpm-tmp.j49nPg
+ umask 022
+ cd /local_scratch/lagaye/viewer4d/bin.release/RPM/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ cd /local_scratch/lagaye/viewer4d/bin.release/RPM/BUILD
+ rm -rf viewer4d-1.0.0-Source
+ /usr/bin/gzip -dc
/local_scratch/lagaye/viewer4d/bin.release/RPM/SOURCES/viewer4d-1.0.0.tar.gz
+ /bin/tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd viewer4d-1.0.0-Source
/var/tmp/rpm-tmp.j49nPg: line 34: cd: viewer4d-1.0.0-Source: No such
file or directory
erreur: Mauvais status de sortie pour /var/tmp/rpm-tmp.j49nPg (%prep)


Erreur de construction de RPM:
   Mauvais status de sortie pour /var/tmp/rpm-tmp.j49nPg (%prep)
make[3]: *** [CMakeFiles/viewer4d_rpm] Erreur 1
make[2]: *** [CMakeFiles/viewer4d_rpm.dir/all] Erreur 2
make[1]: *** [CMakeFiles/viewer4d_rpm.dir/rule] Erreur 2
make: *** [viewer4d_rpm] Erreur 2
[/code]



*What am I missing here ?

Thanks for any help on this !

Regards,
Florent.
*
*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20090505/221e4e07/attachment.htm>


More information about the CMake mailing list