Przeglądaj źródła

Use CPack to build MSI/DEB packages on Win32/Linux

Paul 11 lat temu
rodzic
commit
913e5d40fd
4 zmienionych plików z 41 dodań i 6 usunięć
  1. 3 1
      .travis.yml
  2. 36 0
      CMakeLists.txt
  3. 1 2
      PlugIns/Data/CMakeLists.txt
  4. 1 3
      QGearsMain/CMakeLists.txt

+ 3 - 1
.travis.yml

@@ -29,7 +29,9 @@ before_script:
   - cd build_qgears
   - cmake ..
 
-script: make -j2
+script: 
+  - make -j2
+  - cpack -C Debug
 
 notifications:
   irc: "irc.esper.net#qhimm.com"

+ 36 - 0
CMakeLists.txt

@@ -169,3 +169,39 @@ endif()
 if(QGears_BUILD_TESTS)
     add_subdirectory(Tests)
 endif()
+
+SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/output)
+
+if(LINUX)
+	# On Linux generate DEB packages
+	SET(CPACK_GENERATOR "DEB")
+else()
+	# On Windows generate MSI packages
+	SET(CPACK_GENERATOR "WIX")
+endif()
+
+# Set generic CPack properties
+SET(CPACK_PACKAGE_NAME "qgears")
+SET(CPACK_PACKAGE_VERSION ${QGears_VERSION_MAJOR}.${QGears_VERSION_MINOR}.0)
+SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "A Free Final Fantasy VII Engine")
+
+# TODO: Need to set these up properly, installing build instructions is a bit strange :)
+#SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE.md")
+#SET(CPACK_RESOURCE_FILE_README "${PROJECT_SOURCE_DIR}/readme.md")
+
+# Setup MSI package properties
+SET(CPACK_WIX_UPGRADE_GUID 8fbb893f-5622-4f6d-a7f6-c221f7be5d52)
+
+# TODO: Set MSI banner image, copyright info etc, also include startmenu/desktop shortcuts
+# TODO: For MSI we also need to include OGRE dlls etc
+
+# Setup DEB package properties
+SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Chris Rizzitello <sithlord48@gmail.com>")
+
+# TODO: Detect if we're building x64 and change this to match
+SET(CPACK_DEBIAN_PACKAGE_ARCHITECTURE i386)
+SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libogre-1.9, libois,libboost-program-options,libboost-filesystem,libvorbis,libopenal,libboost-test,zlib1g")
+SET(CPACK_DEBIAN_PACKAGE_SECTION games)
+SET(CPACK_DEBIAN_PACKAGE_PRIORITY extra)
+
+INCLUDE(CPack)

+ 1 - 2
PlugIns/Data/CMakeLists.txt

@@ -94,7 +94,6 @@ if(NOT QGEARS_STATIC)
   set_target_properties(DataPlugin PROPERTIES
     COMPILE_DEFINITIONS QGEARS_DATAPLUGIN_EXPORTS
   )
-  install(TARGETS DataPlugin
-    LIBRARY DESTINATION /usr/lib/q-gears/plugins/
+  install(TARGETS DataPlugin LIBRARY DESTINATION qgears
   )
 endif()

+ 1 - 3
QGearsMain/CMakeLists.txt

@@ -356,6 +356,4 @@ set(LIBRARIES
 )
 target_link_libraries(q-gears ${LIBRARIES})
 
-install(TARGETS q-gears
-    DESTINATION ./
-)
+install(TARGETS q-gears DESTINATION ./)