فهرست منبع

Generate Tar.gz and Deb installer. RPM is set up but missing list of required packages

sithlord48 11 سال پیش
والد
کامیت
ad8570a83e
1فایلهای تغییر یافته به همراه55 افزوده شده و 8 حذف شده
  1. 55 8
      CMakeLists.txt

+ 55 - 8
CMakeLists.txt

@@ -256,28 +256,75 @@ elseif(APPLE)
         #install(FILES ${OGRE_CMAKE_MODULE_PATH}/../bin/release/OIS.DLL DESTINATION ./)
         #install(FILES "${BOOST_ROOT}/stage/lib/BOOST_SYSTEM-VC120-MT-1_55.DLL" DESTINATION ./)
 elseif(UNIX)
-	# On Linux generate DEB packages
-	SET(CPACK_GENERATOR "DEB")
+	# On Linux generate TAR.GZ,DEB and RPM packages
+	#Find out what architecture are we running on and set the package architecture 
+	
+	# set the generic files needing to be installed
 	install( FILES ${PROJECT_SOURCE_DIR}/q-gears.png DESTINATION ./share/pixmaps/ )
 	install( FILES ${PROJECT_SOURCE_DIR}/q-gears.desktop DESTINATION ./share/applications/ )
+	install( FILES ${PROJECT_SOURCE_DIR}/debian/menu DESTINATION share/menu/ RENAME q-gears )
+	install( FILES ${PROJECT_SOURCE_DIR}/output/plugins.cfg_linux DESTINATION share/q-gears/ RENAME plugins.cfg PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ GROUP_WRITE WORLD_WRITE WORLD_READ)
+	install( FILES ${PROJECT_SOURCE_DIR}/output/resources.cfg_linux DESTINATION share/q-gears/ RENAME resources.cfg PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ GROUP_WRITE WORLD_WRITE WORLD_READ)
+	install( FILES ${PROJECT_SOURCE_DIR}/output/q-gears.cfg_linux DESTINATION share/q-gears/ RENAME q-gears.cfg PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ GROUP_WRITE WORLD_WRITE WORLD_READ)
+		
+	if(EXISTS "/usr/lib/x86_64-linux-gnu/OGRE-1.9.0/RenderSystem_GL.so")
+	  install( FILES /usr/lib/x86_64-linux-gnu/OGRE-1.9.0/RenderSystem_GL.so DESTINATION share/q-gears/plugins/ RENAME RenderSystem_GL.so.1.9.0 )
+	endif()
+		
+		
+	SET(CPACK_SOURCE_GENERATOR "TGZ;TZ")
+	SET(CPACK_GENERATOR "TGZ")
+	#detect Distro Family DEB , RPM 
+	if(EXISTS "/etc/lsb-release")
+	    set(DistroType DEB)
+	elseif(EXISTS "/etc/debian_release")
+	    set(DistroType DEB)
+	elseif(EXISTS "/etc/fedora-release")
+	    set(DistroType RPM)
+	endif()
+	message(STATUS "Distro Detected: ${DistroType} ")
+
+	if(DistroType MATCHES "DEB")
+	  # Setup DEB package properties
+	  MESSAGE(STATUS "DEB ADDED TO GENERATION LIST")
+	  SET(CPACK_GENERATOR "${CPACK_GENERATOR};DEB")
+	endif()
+	if(EXISTS "/usr/bin/rpmbuild")
+	  MESSAGE(STATUS "RPM ADDED TO GENERATION LIST (RPM IS DISABLED IN CMAKELISTS)")
+	#  Uncomment to allow for rpm files to be built.   
+	#  SET(CPACK_GENERATOR "${CPACK_GENERATOR};RPM")
+	endif()
 	
 	# Setup DEB package properties
 	SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Chris Rizzitello <sithlord48@gmail.com>")
 	
-	#Find out what architecture are we running on and set the package architecture 
-	EXECUTE_PROCESS(COMMAND dpkg --print-architecture OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE OUTPUT_STRIP_TRAILING_WHITESPACE)
-	MESSAGE ("Architecture: ${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")
 	
+	#Set DEBIAN INFO
 	SET(CPACK_DEBIAN_PACKAGE_SECTION games)
 	SET(CPACK_DEBIAN_PACKAGE_PRIORITY extra)
 	#SET(CPACK_PACKAGE_EXECUTABLE )
-	SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA ${CMAKE_SOURCE_DIR}/debian/postinst )
+	EXECUTE_PROCESS(COMMAND dpkg --print-architecture OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE OUTPUT_STRIP_TRAILING_WHITESPACE)
+	MESSAGE (STATUS "Architecture: ${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")
+	#we should need no longer need postinst since we have added extra install steps to what it would.
+	#SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA ${CMAKE_SOURCE_DIR}/debian/postinst )
 	#set the name to be debian package like.
 	SET(CPACK_PACKAGE_FILE_NAME "q-gears_${CPACK_PACKAGE_VERSION}-${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")
 	#SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libogre-1.9, libois,libboost-program-options,libboost-filesystem,libvorbis,libopenal,libboost-test,zlib1g")
-	SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libogre-1.9.0, libois-1.3.0,libboost-program-options1.54.0,libboost-filesystem1.54.0,libvorbis0a,libvorbisfile3,libvorbisenc2,libopenal1,libboost-test1.54.0,zlib1g")
-endif()
+	SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libogre-1.9.0, libois-1.3.0,libboost-program-options1.54.0,libboost-filesystem1.54.0,libvorbis0a,libvorbisfile3,libvorbisenc2,libopenal1,libboost-test1.54.0,zlib1g,liblua5.1-0")
+
+	#Set RPM info
+	  SET(CPACK_RPM_PACKAGE_SUMMARY CPACK_PACKAGE_DESCRIPTION_SUMMARY)
+	  SET(CPACK_RPM_PACKAGE_NAME CPACK_PACKAGE_NAME)
+	  SET(CPACK_RPM_PACKAGE_VERSION CPACK_PACKAGE_VERSION)
+	  SET(CPACK_RPM_PACKAGE_RELEASE 1)
+	  SET(CPACK_RPM_PACKAGE_LICENSE "GPLv3+")
+	  SET(CPACK_RPM_PACKAGE_GROUP games)
+	  SET(CPACK_RPM_PACKAGE_VENDOR)
+	  SET(CPACK_RPM_PACKAGE_DESCRIPTION)
+	  #REQUIREMENTS NEED TO BE CHECKED USING FEDORA.
+	  #SET(CPACK_RPM_PACKAGE_REQUIRES "ogre,ois,boost,vorbis,lua,zlib1g")
 
+endif()
 
 INCLUDE(CPack)
 #End of install instructions