CMakeLists.txt 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408
  1. cmake_minimum_required(VERSION 2.8)
  2. # on / off for verbose build.
  3. set(CMAKE_VERBOSE_MAKEFILE off)
  4. set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/lib/cotire/CMake")
  5. include(cotire)
  6. # Project Information.
  7. project(V-Gears)
  8. set(CMAKE_PACKAGE_ICON v-gears.png)
  9. set(VGears_VERSION__MAJOR 0)
  10. set(VGears_VERSION__MINOR 1)
  11. set(VGears_VERSION__PATCH 0)
  12. if ("${CMAKE_BUILD_TYPE}" STREQUAL "")
  13. # CMake defaults to leaving CMAKE_BUILD_TYPE empty. This screws up
  14. # differentiation between debug and release builds.
  15. set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: None (CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." FORCE)
  16. message("CMAKE_BUILD_TYPE was empty defaulting to Release")
  17. endif ()
  18. message("CMAKE_BUILD_TYPE is ${CMAKE_BUILD_TYPE} CMAKE_BINARY_DIR is ${CMAKE_BINARY_DIR}")
  19. set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/bin)
  20. set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/bin)
  21. set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/bin)
  22. set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/bin_debug)
  23. set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/bin_debug)
  24. set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/bin_debug)
  25. # Generate header containing window title/version information
  26. set(VGEARS_VERSION "V-Gears v${VGears_VERSION__MAJOR}.${VGears_VERSION__MINOR}.${VGears_VERSION__PATCH}")
  27. configure_file(configure_version_file.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/configure_version_file.cmake @ONLY)
  28. add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/vgears_version.h
  29. COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/configure_version_file.cmake
  30. DEPENDS
  31. ${CMAKE_CURRENT_BINARY_DIR}/configure_version_file.cmake
  32. ${CMAKE_CURRENT_SOURCE_DIR}/QGearsMain/include/vgears_version.h.in
  33. COMMENT "Configuring vgears_version.h"
  34. VERBATIM)
  35. add_custom_target(configure_vgears_version ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/vgears_version.h)
  36. # Enable Visual Studio solution "folders"
  37. SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON)
  38. #if (APPLE)
  39. #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32")
  40. #set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32")
  41. #set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -m32")
  42. #endif()
  43. set(CMAKE_FRAMEWORK_PATH
  44. ${CMAKE_FRAMEWORK_PATH}
  45. ${CMAKE_CURRENT_SOURCE_DIR}/OgreSDK/lib/macosx/Release
  46. ${CMAKE_CURRENT_SOURCE_DIR}/OgreSDK/lib/macosx/Debug
  47. )
  48. set(OGRE_FRAMEWORK_INCLUDES
  49. ${CMAKE_CURRENT_SOURCE_DIR}/OgreSDK/include
  50. )
  51. option(VGears_BUILD_PLUGINS "Build the plugins" TRUE)
  52. option(VGears_BUILD_UTILITIES "Build the utilities" TRUE)
  53. option(VGears_BUILD_TESTS "Build the unit tests" FALSE)
  54. option(VGears_MULTITHREADING "Enable multithreading" FALSE)
  55. option(VGears_SOUND "Enable Sound" TRUE)
  56. find_path(OGRE_CMAKE_MODULE_PATH FindOGRE.cmake
  57. HINTS
  58. "$ENV{OGRE_HOME}/CMake/"
  59. "/usr/local/lib/OGRE/cmake"
  60. "/usr/lib/OGRE/cmake"
  61. "/usr/share/OGRE/cmake/modules"
  62. "${CMAKE_CURRENT_SOURCE_DIR}/OgreSDK/CMake"
  63. )
  64. if(OGRE_CMAKE_MODULE_PATH-NOTFOUND)
  65. message(SEND_ERROR "Failed to find OGRE module path.")
  66. else()
  67. set(CMAKE_MODULE_PATH "${OGRE_CMAKE_MODULE_PATH};${CMAKE_MODULE_PATH}")
  68. endif()
  69. set(VGears_SOURCE_DIR ${CMAKE_SOURCE_DIR})
  70. message("QGears_SOURCE_DIR ${QGears_SOURCE_DIR}")
  71. message("VGears_SOURCE_DIR ${VGears_SOURCE_DIR}")
  72. set(CMAKE_MODULE_PATH "${OGRE_CMAKE_MODULE_PATH};${CMAKE_MODULE_PATH}")
  73. set(CMAKE_MODULE_PATH
  74. "${CMAKE_MODULE_PATH}"
  75. "${CMAKE_SOURCE_DIR}/CMake"
  76. )
  77. set(CMAKE_DEBUG_POSTFIX "_d")
  78. if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
  79. set(CMAKE_INSTALL_PREFIX
  80. "${VGears_SOURCE_DIR}/output" CACHE PATH "V-Gears install prefix" FORCE
  81. )
  82. endif()
  83. find_package(Qt5Widgets REQUIRED)
  84. find_package(ZLIB REQUIRED)
  85. find_package(OGRE REQUIRED)
  86. find_package(OIS REQUIRED)
  87. #if(NOT OIS_FOUND)
  88. # message(SEND_ERROR "Failed to find OIS.")
  89. #endif()
  90. # Find Boost
  91. if (NOT OGRE_BUILD_PLATFORM_IPHONE)
  92. if (WIN32)
  93. set(Boost_USE_STATIC_LIBS TRUE)
  94. else ()
  95. # Statically linking boost to a dynamic Ogre build doesn't work on Linux 64bit
  96. set(Boost_USE_STATIC_LIBS ${OGRE_STATIC})
  97. endif ()
  98. if (MINGW)
  99. # this is probably a bug in CMake: the boost find module tries to look for
  100. # boost libraries with name libboost_*, but CMake already prefixes library
  101. # search names with "lib". This is the workaround.
  102. set(CMAKE_FIND_LIBRARY_PREFIXES ${CMAKE_FIND_LIBRARY_PREFIXES} "")
  103. endif ()
  104. set(Boost_ADDITIONAL_VERSIONS "1.55" "1.55.0" "1.53" "1.53.0" "1.52" "1.52.0" "1.51" "1.51.0" "1.50" "1.50.0" "1.49" "1.49.0" "1.48" "1.48.0" "1.47" "1.47.0" "1.46" "1.46.0" "1.45" "1.45.0" "1.44" "1.44.0" "1.42" "1.42.0" "1.41.0" "1.41" "1.40.0" "1.40")
  105. # Components that need linking (NB does not include header-only components like bind)
  106. set(OGRE_BOOST_COMPONENTS thread date_time)
  107. find_package(Boost COMPONENTS ${OGRE_BOOST_COMPONENTS} QUIET)
  108. if (NOT Boost_FOUND)
  109. set(Boost_USE_STATIC_LIBS NOT ${Boost_USE_STATIC_LIBS})
  110. find_package(Boost COMPONENTS ${OGRE_BOOST_COMPONENTS} QUIET)
  111. endif()
  112. if(Boost_FOUND AND Boost_VERSION GREATER 104900)
  113. set(OGRE_BOOST_COMPONENTS thread date_time system chrono)
  114. find_package(Boost COMPONENTS ${OGRE_BOOST_COMPONENTS} QUIET)
  115. endif()
  116. # Set up referencing of Boost
  117. include_directories(${Boost_INCLUDE_DIR})
  118. if (NOT APPLE)
  119. add_definitions(-DBOOST_ALL_NO_LIB)
  120. endif()
  121. set(OGRE_LIBRARIES ${OGRE_LIBRARIES} ${Boost_LIBRARIES})
  122. find_package(Boost COMPONENTS program_options filesystem QUIET)
  123. set(OGRE_LIBRARIES ${OGRE_LIBRARIES} ${Boost_LIBRARIES})
  124. set(VGears_LIBRARIES ${OGRE_LIBRARIES})
  125. if(VGears_SOUND)
  126. find_package(OpenAL REQUIRED)
  127. find_package(OggVorbis REQUIRED)
  128. add_definitions(-DVGears_SOUND)
  129. set(VGears_LIBRARIES
  130. ${VGears_LIBRARIES}
  131. ${OPENAL_LIBRARY}
  132. ${OGGVORBIS_LIBRARIES}
  133. )
  134. endif()
  135. if(VGears_MULTITHREADING)
  136. # Find Threads
  137. find_package (Threads REQUIRED)
  138. set(VGears_LIBRARIES
  139. ${VGears_LIBRARIES}
  140. ${CMAKE_THREAD_LIBS_INIT}
  141. )
  142. endif()
  143. if(VGears_BUILD_TESTS)
  144. message(STATUS "Looking for boost unit test..")
  145. find_package(Boost COMPONENTS unit_test_framework REQUIRED)
  146. set(VGears_TEST_LIBRARIES
  147. ${OGRE_LIBRARIES}
  148. ${Boost_LIBRARIES}
  149. )
  150. message(STATUS "Test libs = ${VGears_TEST_LIBRARIES}")
  151. # enable CTest
  152. enable_testing()
  153. endif()
  154. endif()
  155. set(OGRE_LIBRARIES ${OGRE_LIBRARIES} ${OGRE_Overlay_LIBRARIES})
  156. find_package(Boost COMPONENTS unit_test_framework REQUIRED)
  157. if (Boost_LIBRARIES STREQUAL "")
  158. message(SEND_ERROR "Boost_LIBRARIES is not set")
  159. endif()
  160. set(VGears_INCLUDE_DIRS
  161. ${VGears_INCLUDE_DIRS}
  162. ${CMAKE_CURRENT_SOURCE_DIR}/QGearsMain/include/
  163. ${OIS_INCLUDE_DIRS}
  164. #/usr/include/luabind # TODO: Autofind
  165. #/usr/include/lua5.2
  166. ${OGRE_Overlay_INCLUDE_DIRS}
  167. ${OGRE_SAMPLES_INCLUDEPATH}
  168. #${LUABIND_INCLUDE_DIRS}
  169. ${CMAKE_CURRENT_SOURCE_DIR}/lib
  170. ${CMAKE_CURRENT_BINARY_DIR}/lib/luajit
  171. ${CMAKE_CURRENT_SOURCE_DIR}/lib/luajit/src
  172. ${CMAKE_CURRENT_SOURCE_DIR}/lib/luabind
  173. ${CMAKE_CURRENT_SOURCE_DIR}/lib/luabind/luabind/detail
  174. ${CMAKE_CURRENT_SOURCE_DIR}/lib/tinyxml
  175. ${CMAKE_CURRENT_SOURCE_DIR}/lib/SUDM
  176. )
  177. if (MSVC)
  178. # Build cpp files on all cores, up virtual mem for PCH's as cotire really makes the compiler scream
  179. SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /Zm193")
  180. # Shut up about insecure functions, as this is cross platform code we can't use the Win32 specifc functions
  181. add_definitions( -D_CRT_SECURE_NO_WARNINGS )
  182. else()
  183. # Enable C++11, you may need to use -std=c++0x if using an older gcc compiler
  184. SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fPIC")
  185. endif()
  186. if (UNIX AND $ENV{COVERAGE}==1)
  187. message("Setting coverage compiler options")
  188. SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0") # debug, no optimisation
  189. SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage") # enabling coverage
  190. endif()
  191. add_definitions(-DTIXML_USE_STL)
  192. add_subdirectory(lib)
  193. add_subdirectory(QGearsMain)
  194. add_subdirectory(SupportedGames)
  195. if(VGears_BUILD_PLUGINS)
  196. add_subdirectory(PlugIns)
  197. endif()
  198. if(VGears_BUILD_UTILITIES)
  199. add_subdirectory(utilities)
  200. endif()
  201. if(VGears_BUILD_TESTS)
  202. add_subdirectory(Tests)
  203. endif()
  204. SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/output)
  205. # Set generic CPack properties
  206. # DO NOT include on win32 - causes CRT dlls to be included
  207. #INCLUDE(InstallRequiredSystemLibraries)
  208. set(CPACK_PACKAGE_NAME "v-gears")
  209. SET(CPACK_PACKAGE_VERSION ${VGears_VERSION__MAJOR}.${VGears_VERSION__MINOR}.${VGears_VERSION__PATCH})
  210. SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "A Free Final Fantasy VII Engine")
  211. SET(CPACK_PACKAGE_VENDOR "V-Gears team")
  212. # TODO: Need to set these up properly, installing build instructions is a bit strange :)
  213. SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/COPYING.txt")
  214. #SET(CPACK_RESOURCE_FILE_README "${PROJECT_SOURCE_DIR}/readme.md")
  215. MESSAGE( STATUS "CMAKE_BUILD_TYPE: " ${CMAKE_BUILD_TYPE} )
  216. MESSAGE( STATUS "BOOST_ROOT: " ${BOOST_ROOT} )
  217. INSTALL(FILES "${CMAKE_CURRENT_SOURCE_DIR}/output/field_models_and_animation_metadata.xml" DESTINATION ".")
  218. #OS SPECIFIC
  219. if(WIN32)
  220. # On Windows generate MSI packages
  221. SET(CPACK_GENERATOR "WIX")
  222. SET(CPACK_WIX_TEMPLATE "${CMAKE_CURRENT_SOURCE_DIR}/wix.template.in")
  223. SET(CPACK_WIX_UPGRADE_GUID 8fbb893f-5622-4f6d-a7f6-c221f7be5d52)
  224. # TODO: Set MSI banner image, copyright info etc, also include startmenu/desktop shortcuts
  225. #set the name of the installer default formating is name-version-os
  226. # If empty assume release
  227. if ("${CMAKE_BUILD_TYPE}" STREQUAL "" OR "${CMAKE_BUILD_TYPE}" STREQUAL "Release")
  228. message("RELEASE installer build")
  229. install(FILES ${PROJECT_SOURCE_DIR}/output/resources.cfg DESTINATION ./)
  230. install(FILES ${PROJECT_SOURCE_DIR}/output/plugins.cfg DESTINATION ./)
  231. install(FILES ${OGRE_CMAKE_MODULE_PATH}/../bin/release/OgreMain.dll DESTINATION ./)
  232. install(FILES ${OGRE_CMAKE_MODULE_PATH}/../bin/release/RenderSystem_GL.dll DESTINATION ./)
  233. install(FILES ${OGRE_CMAKE_MODULE_PATH}/../bin/release/OGREOVERLAY.DLL DESTINATION ./)
  234. install(FILES ${OGRE_CMAKE_MODULE_PATH}/../bin/release/OIS.DLL DESTINATION ./)
  235. install(FILES ${QT_PLUGINS_DIR}/../bin/QtCore4.dll DESTINATION ./)
  236. install(FILES ${QT_PLUGINS_DIR}/../bin/QtGui4.dll DESTINATION ./)
  237. else()
  238. message("DEBUG installer build")
  239. install(FILES ${PROJECT_SOURCE_DIR}/output/resources_d.cfg DESTINATION ./)
  240. install(FILES ${PROJECT_SOURCE_DIR}/output/plugins_d.cfg DESTINATION ./)
  241. install(FILES ${OGRE_CMAKE_MODULE_PATH}/../bin/debug/OgreMain_d.dll DESTINATION ./)
  242. install(FILES ${OGRE_CMAKE_MODULE_PATH}/../bin/debug/RenderSystem_GL_d.dll DESTINATION ./)
  243. install(FILES ${OGRE_CMAKE_MODULE_PATH}/../bin/debug/OGREOVERLAY_D.DLL DESTINATION ./)
  244. install(FILES ${OGRE_CMAKE_MODULE_PATH}/../bin/debug/OIS_D.DLL DESTINATION ./)
  245. install(FILES ${QT_PLUGINS_DIR}/../bin/QtCored4.dll DESTINATION ./)
  246. install(FILES ${QT_PLUGINS_DIR}/../bin/QtGuid4.dll DESTINATION ./)
  247. endif()
  248. elseif(APPLE)
  249. # APPLE is also UNIX, so must check for APPLE before UNIX
  250. SET(CPACK_GENERATOR "DragNDrop")
  251. if ("${CMAKE_BUILD_TYPE}" STREQUAL "" OR "${CMAKE_BUILD_TYPE}" STREQUAL "Release")
  252. set(OSX_BIN_DIR "${CMAKE_BINARY_DIR}/bin_release")
  253. message("DEBUG installer build, CMAKE_BINARY_DIR=${CMAKE_BINARY_DIR} OSX_BIN_DIR=${OSX_BIN_DIR}")
  254. else()
  255. set(OSX_BIN_DIR "${CMAKE_BINARY_DIR}/bin_debug")
  256. message("RELEASE installer build, CMAKE_BINARY_DIR=${CMAKE_BINARY_DIR} OSX_BIN_DIR=${OSX_BIN_DIR}")
  257. endif()
  258. install(FILES ${PROJECT_SOURCE_DIR}/output/resources.cfg DESTINATION ./)
  259. install(FILES ${PROJECT_SOURCE_DIR}/output/plugins.cfg DESTINATION ./)
  260. install(FILES ${OSX_BIN_DIR}/Ogre DESTINATION ./)
  261. install(FILES ${OSX_BIN_DIR}/RenderSystem_GL DESTINATION ./)
  262. install(FILES ${OSX_BIN_DIR}/OgreOverlay DESTINATION ./)
  263. install(FILES ${OSX_BIN_DIR}/libboost_thread-mt.dylib DESTINATION ./)
  264. install(FILES ${OSX_BIN_DIR}/libboost_date_time-mt.dylib DESTINATION ./)
  265. install(FILES ${OSX_BIN_DIR}/libboost_system-mt.dylib DESTINATION ./)
  266. install(FILES ${OSX_BIN_DIR}/libboost_atomic-mt.dylib DESTINATION ./)
  267. install(FILES ${OSX_BIN_DIR}/libboost_chrono-mt.dylib DESTINATION ./)
  268. install(FILES ${OSX_BIN_DIR}/libboost_program_options-mt.dylib DESTINATION ./)
  269. install(FILES ${OSX_BIN_DIR}/libboost_filesystem-mt.dylib DESTINATION ./)
  270. install(FILES ${OSX_BIN_DIR}/libboost_filesystem-mt.dylib DESTINATION ./)
  271. install(FILES ${OSX_BIN_DIR}/QtCore DESTINATION ./)
  272. install(FILES ${OSX_BIN_DIR}/QtGui DESTINATION ./)
  273. install(FILES ${OSX_BIN_DIR}/liblua.dylib DESTINATION ./)
  274. elseif(UNIX)
  275. # On Linux generate TAR.GZ,DEB and RPM packages
  276. #Find out what architecture are we running on and set the package architecture
  277. # set the generic files needing to be installed
  278. install( FILES ${PROJECT_SOURCE_DIR}/v-gears.png DESTINATION ./share/pixmaps/ )
  279. install( FILES ${PROJECT_SOURCE_DIR}/v-gears.desktop DESTINATION ./share/applications/ )
  280. install( FILES ${PROJECT_SOURCE_DIR}/debian/menu DESTINATION share/menu/ RENAME v-gears )
  281. install( FILES ${PROJECT_SOURCE_DIR}/output/plugins.cfg_linux DESTINATION share/v-gears/ RENAME plugins.cfg PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ GROUP_WRITE WORLD_WRITE WORLD_READ)
  282. install( FILES ${PROJECT_SOURCE_DIR}/output/resources.cfg_linux DESTINATION share/v-gears/ RENAME resources.cfg PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ GROUP_WRITE WORLD_WRITE WORLD_READ)
  283. install( FILES ${PROJECT_SOURCE_DIR}/output/v-gears.cfg_linux DESTINATION share/v-gears/ RENAME v-gears.cfg PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ GROUP_WRITE WORLD_WRITE WORLD_READ)
  284. if(EXISTS "/usr/lib/x86_64-linux-gnu/OGRE-1.9.0/RenderSystem_GL.so.1.9.0")
  285. install( FILES /usr/lib/x86_64-linux-gnu/OGRE-1.9.0/RenderSystem_GL.so.1.9.0 DESTINATION lib/v-gears/plugins/ )
  286. elseif(EXISTS "/usr/lib/i386-linux-gnu/OGRE-1.9.0/RenderSystem_GL.so.1.9.0")
  287. install( FILES /usr/lib/i386-linux-gnu/OGRE-1.9.0/RenderSystem_GL.so.1.9.0 DESTINATION lib/v-gears/plugins/ )
  288. endif()
  289. SET(CPACK_SOURCE_GENERATOR "TGZ;TZ")
  290. SET(CPACK_GENERATOR "TGZ")
  291. #detect Distro Family DEB , RPM
  292. if(EXISTS "/etc/lsb-release")
  293. set(DistroType DEB)
  294. elseif(EXISTS "/etc/debian_release")
  295. set(DistroType DEB)
  296. elseif(EXISTS "/etc/fedora-release")
  297. set(DistroType RPM)
  298. endif()
  299. message(STATUS "Distro Detected: ${DistroType} ")
  300. if(DistroType MATCHES "DEB")
  301. # Setup DEB package properties
  302. MESSAGE(STATUS "DEB ADDED TO GENERATION LIST")
  303. SET(CPACK_GENERATOR "${CPACK_GENERATOR};DEB")
  304. endif()
  305. if(EXISTS "/usr/bin/rpmbuild")
  306. MESSAGE(STATUS "RPM ADDED TO GENERATION LIST (RPM IS DISABLED IN CMAKELISTS)")
  307. # Uncomment to allow for rpm files to be built.
  308. # SET(CPACK_GENERATOR "${CPACK_GENERATOR};RPM")
  309. endif()
  310. # Setup DEB package properties
  311. SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Chris Rizzitello <sithlord48@gmail.com>")
  312. #Set DEBIAN INFO
  313. SET(CPACK_DEBIAN_PACKAGE_SECTION games)
  314. SET(CPACK_DEBIAN_PACKAGE_PRIORITY extra)
  315. #SET(CPACK_PACKAGE_EXECUTABLE )
  316. EXECUTE_PROCESS(COMMAND dpkg --print-architecture OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE OUTPUT_STRIP_TRAILING_WHITESPACE)
  317. MESSAGE (STATUS "Architecture: ${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")
  318. #we should need no longer need postinst since we have added extra install steps to what it would.
  319. #SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA ${CMAKE_SOURCE_DIR}/debian/postinst )
  320. #set the name to be debian package like.
  321. SET(CPACK_PACKAGE_FILE_NAME "v-gears_${CPACK_PACKAGE_VERSION}-${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")
  322. #SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libogre-1.9, libois,libboost-program-options,libboost-filesystem,libvorbis,libopenal,libboost-test,zlib1g")
  323. 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")
  324. #Set RPM info
  325. SET(CPACK_RPM_PACKAGE_SUMMARY CPACK_PACKAGE_DESCRIPTION_SUMMARY)
  326. SET(CPACK_RPM_PACKAGE_NAME CPACK_PACKAGE_NAME)
  327. SET(CPACK_RPM_PACKAGE_VERSION CPACK_PACKAGE_VERSION)
  328. SET(CPACK_RPM_PACKAGE_RELEASE 1)
  329. SET(CPACK_RPM_PACKAGE_LICENSE "GPLv3+")
  330. SET(CPACK_RPM_PACKAGE_GROUP games)
  331. SET(CPACK_RPM_PACKAGE_VENDOR)
  332. SET(CPACK_RPM_PACKAGE_DESCRIPTION)
  333. #REQUIREMENTS NEED TO BE CHECKED USING FEDORA.
  334. #SET(CPACK_RPM_PACKAGE_REQUIRES "ogre,ois,boost,vorbis,lua,zlib1g")
  335. endif()
  336. #SET_PROPERTY(TARGET liblua PROPERTY FOLDER "3rdparty")
  337. #SET_PROPERTY(TARGET buildvm PROPERTY FOLDER "3rdparty")
  338. SET_PROPERTY(TARGET LuaBind PROPERTY FOLDER "3rdparty")
  339. #SET_PROPERTY(TARGET luajit PROPERTY FOLDER "3rdparty")
  340. #SET_PROPERTY(TARGET minilua PROPERTY FOLDER "3rdparty")
  341. #SET_PROPERTY(TARGET TinyXml PROPERTY FOLDER "3rdparty")
  342. SET_PROPERTY(TARGET Sudm_Lib PROPERTY FOLDER "v-gears")
  343. INCLUDE(CPack)
  344. #End of install instructions