Thanks for the answer. There was really an INCLUDE(CPack) command don't know why it didn't get shiped with the mail. I was really using UseRPMTools, I changed that.

Here's my new CMakeLists.txt:

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_GENERATOR "RPM")
SET( CPACK_SOURCE_PACKAGE_FILE_NAME "viewer4d-${VERSION}" CACHE INTERNAL "tarball basename" )
SET( CPACK_SOURCE_GENERATOR TGZ )
SET( CPACK_IGNORE_FILES
"~$"
"^.*/\\\\.svn/.*$"
)

INCLUDE( CPack )

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
)

My command call for Makefile generation:

my_build_dir$ >rm -rf * ; cmake -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" ../src
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/lib64/ccache/gcc
-- Check for working C compiler: /usr/lib64/ccache/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/lib64/ccache/c++
-- Check for working CXX compiler: /usr/lib64/ccache/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib64/libX11.so
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found.
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found.
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found.
-- Found Qt-Version 4.5.0
-- Found OpenSSL: /usr/lib64/libssl.so
-- Looking for _POSIX_TIMERS
-- Looking for _POSIX_TIMERS - found
-- Configuring done
-- Generating done
-- Build files have been written to: /local_scratch/lagaye/viewer4d/bin.release

Everything seems alright so I launch compilation/packaging process, but I get the following error:

my_build_dir$ >make package

[  1%] Generating ui_LightDock.h
[  3%] Generating qrc_viewer4d.cxx
[  5%] Generating moc_Application.cxx
[  7%] Generating moc_ViewerWindow.cxx
[  9%] Generating moc_ProgressWindow.cxx
[ 11%] Generating moc_Light.cxx
[ 13%] Generating moc_Selectable.cxx
[ 15%] Generating moc_Positionable.cxx
[ 17%] Generating moc_Viewer3d.cxx
[ 19%] Generating ui_Viewer4dMainWindow.h
[ 21%] Generating ui_ProgressWindow.h
[ 23%] Generating ui_CameraDock.h
[ 25%] Generating ui_AnimationDock.h
[ 27%] Generating ui_DisplayDock.h
[ 29%] Generating ui_MeshDock.h
[ 31%] Generating ui_SequenceDock.h
[ 33%] Generating ui_TextureDock.h
Scanning dependencies of target viewer4d
[ 35%] Building CXX object CMakeFiles/viewer4d.dir/main.cpp.o
[ 37%] Building CXX object CMakeFiles/viewer4d.dir/Application.cpp.o
[ 39%] Building CXX object CMakeFiles/viewer4d.dir/Camera.cpp.o
[ 41%] Building CXX object CMakeFiles/viewer4d.dir/DisplayCamera.cpp.o
[ 43%] Building CXX object CMakeFiles/viewer4d.dir/Debug.cpp.o
[ 45%] Building CXX object CMakeFiles/viewer4d.dir/Exception.cpp.o
[ 47%] Building CXX object CMakeFiles/viewer4d.dir/Frame.cpp.o
[ 49%] Building CXX object CMakeFiles/viewer4d.dir/Mesh.cpp.o
[ 50%] Building CXX object CMakeFiles/viewer4d.dir/ProgressWindow.cpp.o
[ 52%] Building CXX object CMakeFiles/viewer4d.dir/Quaternion.cpp.o
[ 54%] Building CXX object CMakeFiles/viewer4d.dir/Selectable.cpp.o
[ 56%] Building CXX object CMakeFiles/viewer4d.dir/Positionable.cpp.o
[ 58%] Building CXX object CMakeFiles/viewer4d.dir/Sequence.cpp.o
[ 60%] Building CXX object CMakeFiles/viewer4d.dir/SequenceCollection.cpp.o
[ 62%] Building CXX object CMakeFiles/viewer4d.dir/Setup.cpp.o
[ 64%] Building CXX object CMakeFiles/viewer4d.dir/StreamDumper.cpp.o
[ 66%] Building CXX object CMakeFiles/viewer4d.dir/Streamer.cpp.o
[ 68%] Building CXX object CMakeFiles/viewer4d.dir/StreamFile.cpp.o
[ 70%] Building CXX object CMakeFiles/viewer4d.dir/StreamFile_0_2.cpp.o
[ 72%] Building CXX object CMakeFiles/viewer4d.dir/Timer.cpp.o
[ 74%] Building CXX object CMakeFiles/viewer4d.dir/ToolBox.cpp.o
[ 76%] Building CXX object CMakeFiles/viewer4d.dir/TriState.cpp.o
[ 78%] Building CXX object CMakeFiles/viewer4d.dir/Vector.cpp.o
[ 80%] Building CXX object CMakeFiles/viewer4d.dir/Viewer3d.cpp.o
[ 82%] Building CXX object CMakeFiles/viewer4d.dir/ViewerWindow.cpp.o
[ 84%] Building CXX object CMakeFiles/viewer4d.dir/Light.cpp.o
[ 86%] Building CXX object CMakeFiles/viewer4d.dir/qrc_viewer4d.cxx.o
[ 88%] Building CXX object CMakeFiles/viewer4d.dir/moc_Application.cxx.o
[ 90%] Building CXX object CMakeFiles/viewer4d.dir/moc_ViewerWindow.cxx.o
[ 92%] Building CXX object CMakeFiles/viewer4d.dir/moc_ProgressWindow.cxx.o
[ 94%] Building CXX object CMakeFiles/viewer4d.dir/moc_Light.cxx.o
[ 96%] Building CXX object CMakeFiles/viewer4d.dir/moc_Selectable.cxx.o
[ 98%] Building CXX object CMakeFiles/viewer4d.dir/moc_Positionable.cxx.o
[100%] Building CXX object CMakeFiles/viewer4d.dir/moc_Viewer3d.cxx.o
Linking CXX executable viewer4d
[100%] Built target viewer4d
Run CPack packaging tool...
CPack: Create package using RPM
CPack: Install projects
CPack: - Run preinstall target for: viewer4d
CPack: - Install project: viewer4d
CPack: Compress package
CPack: Finalize package
CPack Error: Problem copying the package: /local_scratch/lagaye/viewer4d/bin.release/_CPack_Packages/Linux/RPM/viewer4d-1.0.0-Linux.rpm to /local_scratch/lagaye/viewer4d/bin.release/viewer4d-1.0.0-Linux.rpm
CPack Error: Error when generating package: viewer4d
make: *** [package] Erreur 1

Thanks what is it I miss ? I found the following error log in "my_build_dir/_CPack_Packages/Linux/RPM/rpmbuild.err" :

+ umask 022
+ cd /local_scratch/lagaye/viewer4d/bin.release/_CPack_Packages/Linux/RPM/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ LANG=C
+ export LANG
+ unset DISPLAY
+ exit 0
+ umask 022
+ cd /local_scratch/lagaye/viewer4d/bin.release/_CPack_Packages/Linux/RPM/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ /usr/lib/rpm/check-buildroot
find: `/home/perception/lagaye/rpmbuild/BUILDROOT/viewer4d-1.0.0-1.x86_64': No such file or directory
+ /usr/lib/rpm/redhat/brp-compress
/usr/lib/rpm/redhat/brp-compress: line 8: cd: /home/perception/lagaye/rpmbuild/BUILDROOT/viewer4d-1.0.0-1.x86_64: No such file or directory
+ /usr/lib/rpm/redhat/brp-strip /usr/bin/strip
find: `/home/perception/lagaye/rpmbuild/BUILDROOT/viewer4d-1.0.0-1.x86_64': No such file or directory
+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
find: `/home/perception/lagaye/rpmbuild/BUILDROOT/viewer4d-1.0.0-1.x86_64': No such file or directory
+ /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
find: `/home/perception/lagaye/rpmbuild/BUILDROOT/viewer4d-1.0.0-1.x86_64': No such file or directory
+ /usr/lib/rpm/brp-python-bytecompile
find: `/home/perception/lagaye/rpmbuild/BUILDROOT/viewer4d-1.0.0-1.x86_64': No such file or directory
+ /usr/lib/rpm/redhat/brp-python-hardlink
find: `/home/perception/lagaye/rpmbuild/BUILDROOT/viewer4d-1.0.0-1.x86_64': No such file or directory
+ /usr/lib/rpm/redhat/brp-java-repack-jars
find: `/home/perception/lagaye/rpmbuild/BUILDROOT/viewer4d-1.0.0-1.x86_64': No such file or directory erreur: Fichier non trouvé par la substitution: /home/perception/lagaye/rpmbuild/BUILDROOT/viewer4d-1.0.0-1.x86_64/* Fichier non trouvé par la substitution: /home/perception/lagaye/rpmbuild/BUILDROOT/viewer4d-1.0.0-1.x86_64/*


Sorry, my locale is French, so some messages are in French, but I bet you're French too ?

Regards,
Florent.

Eric Noulard a écrit :
2009/5/5 Florent Lagaye <[email protected]>:
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.


_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to