Bladeren bron

cmakelist updated for tarballs and rpm
lua's cmake set to static fixing need for external liblua.so
_linux versions of files cfg files for easier deploy

sithlord48 11 jaren geleden
bovenliggende
commit
64cba0e5b9
4 gewijzigde bestanden met toevoegingen van 76 en 18 verwijderingen
  1. 62 18
      CMakeLists.txt
  2. 8 0
      output/plugins.cfg_linux
  3. 0 0
      output/q-gears.cfg_linux
  4. 6 0
      output/resources.cfg_linux

+ 62 - 18
CMakeLists.txt

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 2.6)
+cmake_minimum_required(VERSION 2.8)
 
 project(QGears)
 
@@ -212,6 +212,7 @@ SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/COPYING.txt")
 MESSAGE( STATUS "CMAKE_BUILD_TYPE:         " ${CMAKE_BUILD_TYPE} )
 MESSAGE( STATUS "BOOST_ROOT:         " ${BOOST_ROOT} )
 
+
 #OS SPECIFIC 
 if(WIN32)
 	# On Windows generate MSI packages
@@ -243,39 +244,82 @@ if(WIN32)
 		install(FILES ${OGRE_CMAKE_MODULE_PATH}/../bin/debug/OIS_D.DLL DESTINATION ./)
 		install(FILES "${BOOST_ROOT}/stage/lib/BOOST_SYSTEM-VC120-MT-GD-1_55.DLL" DESTINATION ./)
 	endif()
-elseif(APPLE)
-	# APPLE is also UNIX, so must check for APPLE before UNIX
-	SET(CPACK_GENERATOR "DragNDrop")
- 	install(FILES ${PROJECT_SOURCE_DIR}/output/resources.cfg DESTINATION ./)
-	install(FILES ${PROJECT_SOURCE_DIR}/output/plugins.cfg DESTINATION ./)
-        install(FILES ${OGRE_CMAKE_MODULE_PATH}/../lib/macosx/Release/Ogre.framework/Ogre DESTINATION ./)
-        install(FILES ${OGRE_CMAKE_MODULE_PATH}/../lib/macosx/Release/RenderSystem_GL.framework/Versions/1.9.0/RenderSystem_GL DESTINATION ./)
-        install(FILES ${OGRE_CMAKE_MODULE_PATH}/../lib/macosx/Release/OgreOverlay.framework/Versions/1.9.0/OgreOverlay DESTINATION ./)
-
-	# TODO: Fix up other files and use "otool" to fix dynlib + framework paths
-        #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
+	# 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_READ OWNER_WRITE WORLD_WRITE WORLD_READ)
+	install( FILES ${PROJECT_SOURCE_DIR}/output/resources.cfg_linux DESTINATION share/q-gears/ RENAME resources.cfg PERMISSIONS OWNER_READ OWNER_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_READ OWNER_WRITE WORLD_WRITE WORLD_READ )
+	
+	if(EXISTS /usr/lib/x86_64-linux-gnu/OGRE-1.9.0/ )
+	  install( FILES /usr/lib/x86_64-linux-gnu/OGRE-1.9.0/RenderSystem_GL.so.1.9.0 DESTINATION share/q-gears/plugins/ )
+	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}")
+	MESSAGE (STATUS "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 )
+	#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")
+	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 ANGINST FEDORA.
+	  #SET(CPACK_RPM_PACKAGE_REQUIRES "ogre,ois,boost,vorbis,lua,zlib1g")
+elseif(APPLE)
+	SET(CPACK_GENERATOR "DragNDrop")
+ 	install(FILES ${PROJECT_SOURCE_DIR}/output/resources.cfg DESTINATION ./)
+	install(FILES ${PROJECT_SOURCE_DIR}/output/plugins.cfg DESTINATION ./)
+        install(FILES ${OGRE_CMAKE_MODULE_PATH}/../lib/macosx/Release/Ogre.framework/Ogre DESTINATION ./)
+        install(FILES ${OGRE_CMAKE_MODULE_PATH}/../lib/macosx/Release/RenderSystem_GL.framework/Versions/1.9.0/RenderSystem_GL DESTINATION ./)
+        install(FILES ${OGRE_CMAKE_MODULE_PATH}/../lib/macosx/Release/OgreOverlay.framework/Versions/1.9.0/OgreOverlay DESTINATION ./)
+
+	# TODO: Fix up other files and use "otool" to fix dynlib + framework paths
+        #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 ./)
 endif()
 
 

+ 8 - 0
output/plugins.cfg_linux

@@ -0,0 +1,8 @@
+# Define plugin folder
+PluginFolder=/usr/share/q-gears/plugins/
+#PluginFolder=~/.q-gears/plugins
+
+# Define plugins
+    Plugin=RenderSystem_GL
+#    Plugin=Plugin_Data
+ 

+ 0 - 0
output/q-gears.cfg_linux


+ 6 - 0
output/resources.cfg_linux

@@ -0,0 +1,6 @@
+# alternative ressources directly from the game files
+[Game]
+FileSystem=data
+
+[FFVII_World]
+#LGP=~/.wine/drive_c/FF7/data/wm/world_us.lgp