Open Source Tomb Raider Engine
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

CMakeLists.txt 5.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. # Set Source files
  2. set (SRCS ${SRCS} "Camera.cpp")
  3. set (SRCS ${SRCS} "Emitter.cpp")
  4. set (SRCS ${SRCS} "GLString.cpp")
  5. set (SRCS ${SRCS} "Matrix.cpp")
  6. set (SRCS ${SRCS} "Mesh.cpp")
  7. set (SRCS ${SRCS} "OpenRaider.cpp")
  8. set (SRCS ${SRCS} "Particle.cpp")
  9. set (SRCS ${SRCS} "Quaternion.cpp")
  10. set (SRCS ${SRCS} "Render.cpp")
  11. set (SRCS ${SRCS} "SDLSystem.cpp")
  12. set (SRCS ${SRCS} "SkeletalModel.cpp")
  13. set (SRCS ${SRCS} "Sound.cpp")
  14. set (SRCS ${SRCS} "System.cpp")
  15. set (SRCS ${SRCS} "Texture.cpp")
  16. set (SRCS ${SRCS} "TombRaider.cpp")
  17. set (SRCS ${SRCS} "Vector3d.cpp")
  18. set (SRCS ${SRCS} "ViewVolume.cpp")
  19. set (SRCS ${SRCS} "World.cpp")
  20. #################################################################
  21. # Apple specific bundling
  22. if (APPLE)
  23. # Mac Bundle Data
  24. set (MACOSX_BUNDLE_INFO_STRING "OpenSource TombRaider Game Engine")
  25. set (MACOSX_BUNDLE_ICON_FILE "AppIcon")
  26. set (MACOSX_BUNDLE_GUI_IDENTIFIER "de.xythobuz.OpenRaider")
  27. set (MACOSX_BUNDLE_BUNDLE_NAME "OpenRaider")
  28. set (MACOSX_BUNDLE_SHORT_VERSION_STRING "${OpenRaider_VERSION_MAJOR}.${OpenRaider_VERSION_MINOR}.${OpenRaider_VERSION_MICRO}${OpenRaider_VERSION_RELEASE}")
  29. set (MACOSX_BUNDLE_LONG_VERSION_STRING "${OpenRaider_VERSION_MAJOR}.${OpenRaider_VERSION_MINOR}.${OpenRaider_VERSION_MICRO}${OpenRaider_VERSION_RELEASE} (${CMAKE_BUILD_TYPE})")
  30. set (MACOSX_BUNDLE_BUNDLE_VERSION "${OpenRaider_VERSION_MAJOR}.${OpenRaider_VERSION_MINOR}.${OpenRaider_VERSION_MICRO}${OpenRaider_VERSION_RELEASE} (${CMAKE_BUILD_TYPE})")
  31. set (MACOSX_BUNDLE_COPYRIGHT "2001 - 2014")
  32. # Copy Icon
  33. set (MAC_ICON "../cmake/AppIcon.icns")
  34. set_source_files_properties (${MAC_ICON} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
  35. set (SRCS ${SRCS} ${MAC_ICON})
  36. # Copy Data
  37. set (MAC_DATA "../data/custom.cfg" "../data/OpenRaider.init" "../data/particle.tga" "../data/sample.wav")
  38. set (MAC_DATA ${MAC_DATA} "../data/snow.tga" "../data/snow2.tga" "../data/splash.tga" "../data/test.ttf")
  39. set (MAC_DATA ${MAC_DATA} "../data/white.tga")
  40. set_source_files_properties (${MAC_DATA} PROPERTIES MACOSX_PACKAGE_LOCATION Resources/defaults)
  41. set (SRCS ${SRCS} ${MAC_DATA})
  42. endif (APPLE)
  43. #################################################################
  44. # Apply Flags
  45. set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenRaider_CXX_FLAGS}")
  46. set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${OpenRaider_CXX_FLAGS} ${OpenRaider_CXX_FLAGS_DEBUG}")
  47. set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${OpenRaider_CXX_FLAGS} ${OpenRaider_CXX_FLAGS_RELEASE}")
  48. # Add utils directory
  49. add_subdirectory (utils)
  50. # Add Executable
  51. add_executable (OpenRaider MACOSX_BUNDLE ${SRCS})
  52. #################################################################
  53. if (APPLE)
  54. if (${CMAKE_GENERATOR} STREQUAL "Unix Makefiles")
  55. # Copy setup script
  56. add_custom_command (TARGET OpenRaider POST_BUILD
  57. COMMAND echo "Injecting setup script..."
  58. COMMAND cp "${PROJECT_SOURCE_DIR}/cmake/setup_mac.sh" "${PROJECT_BINARY_DIR}/src/OpenRaider.app/Contents/MacOS/OpenRaider.sh"
  59. )
  60. # Fix executable name, so setup script will be called
  61. add_custom_command (TARGET OpenRaider POST_BUILD
  62. COMMAND echo "Changing executable name..."
  63. COMMAND /usr/libexec/PlistBuddy -c "Set :CFBundleExecutable OpenRaider.sh" Info.plist
  64. WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/src/OpenRaider.app/Contents
  65. )
  66. # Preparing the bundle on install
  67. # http://www.cmake.org/Wiki/BundleUtilitiesExample
  68. set (plugin_dest_dir OpenRaider.app/Contents/MacOS)
  69. set (APPS "${PROJECT_BINARY_DIR}/src/OpenRaider.app")
  70. install (CODE "
  71. file(GLOB_RECURSE PLUGINS
  72. \"\${CMAKE_INSTALL_PREFIX}/${plugin_dest_dir}/plugins/*${CMAKE_SHARED_LIBRARY_SUFFIX}\")
  73. include(BundleUtilities)
  74. fixup_bundle(\"${APPS}\" \"\${PLUGINS}\" \"\")
  75. " COMPONENT Runtime
  76. )
  77. endif (${CMAKE_GENERATOR} STREQUAL "Unix Makefiles")
  78. endif (APPLE)
  79. #################################################################
  80. if (NOT APPLE)
  81. # Install binary
  82. install (TARGET OpenRaider
  83. RUNTIME DESTINATION bin
  84. )
  85. endif (NOT APPLE)
  86. #################################################################
  87. # Add Math Library
  88. set (LIBS ${LIBS} m)
  89. # Add SDL2 Library
  90. find_package (SDL2 REQUIRED)
  91. include_directories (SYSTEM ${SDL2_INCLUDE_DIR})
  92. set (LIBS ${LIBS} ${SDL2_LIBRARY})
  93. # Add SDL2_ttf Library
  94. find_package (SDL2TTF REQUIRED)
  95. include_directories (SYSTEM ${SDL2TTF_INCLUDE_DIR})
  96. set (LIBS ${LIBS} ${SDL2TTF_LIBRARY})
  97. # Add OpenGL Library
  98. find_package (OpenGL REQUIRED)
  99. include_directories (SYSTEM ${OPENGL_INCLUDE_DIRS})
  100. set (LIBS ${LIBS} ${OPENGL_LIBRARIES})
  101. # Add OpenAL Library
  102. find_package (OpenAL REQUIRED)
  103. include_directories (SYSTEM ${OPENAL_INCLUDE_DIRS})
  104. set (LIBS ${LIBS} ${OPENAL_LIBRARIES})
  105. # Add ALUT Library
  106. find_package (ALUT REQUIRED)
  107. include_directories (SYSTEM ${ALUT_INCLUDE_DIRS})
  108. set (LIBS ${LIBS} ${ALUT_LIBRARIES})
  109. # Add Z Library
  110. find_package (ZLIB REQUIRED)
  111. include_directories (SYSTEM ${ZLIB_INCLUDE_DIRS})
  112. set (LIBS ${LIBS} ${ZLIB_LIBRARIES})
  113. # Add Thread Library
  114. find_package (Threads REQUIRED)
  115. set (LIBS ${LIBS} ${CMAKE_THREAD_LIBS_INIT})
  116. # Add utils Library
  117. set (LIBS ${LIBS} utilities)
  118. # Link to all found libs
  119. target_link_libraries (OpenRaider ${LIBS})
  120. #################################################################
  121. # Add target to run executable
  122. add_custom_target(run COMMAND OpenRaider DEPENDS OpenRaider WORKING_DIRECTORY ${CMAKE_PROJECT_DIR})