CMakeLists.txt 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. set(GAME_NAME sample-racer)
  2. set(GAME_SRC
  3. src/RacerGame.cpp
  4. src/RacerGame.h
  5. )
  6. if(NOT ${APPLE})
  7. set_target_properties(${GAME_NAME} PROPERTIES
  8. OUTPUT_NAME "${GAME_NAME}"
  9. CLEAN_DIRECT_OUTPUT 1
  10. )
  11. endif(NOT ${APPLE})
  12. source_group(res FILES ${GAME_RES} ${GAMEPLAY_RES} ${GAMEPLAY_RES_SHADERS} ${GAMEPLAY_RES_UI})
  13. source_group(src FILES ${GAME_SRC})
  14. if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
  15. COPY_RES_MAC(GAME_RES ${CMAKE_SOURCE_DIR}/samples/racer res/*)
  16. COPY_RES_MAC(GAMEPLAY_RES ${CMAKE_SOURCE_DIR}/gameplay
  17. res/shaders/* res/ui/* res/logo_powered_white.png)
  18. set(Apple_Resources
  19. ${GAME_RES}
  20. ${GAMEPLAY_RES}
  21. game.config)
  22. SET(EXEC_TYPE MACOSX_BUNDLE)
  23. SET_SOURCE_FILES_PROPERTIES(
  24. game.config
  25. PROPERTIES
  26. MACOSX_PACKAGE_LOCATION Resources
  27. )
  28. set( MACOSX_BUNDLE_INFO_STRING "\"${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}\",\nCopyright 2016 gameplay3d contributors" )
  29. set( MACOSX_BUNDLE_SHORT_VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}" )
  30. set( MACOSX_BUNDLE_LONG_VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}" )
  31. set( MACOSX_BUNDLE_BUNDLE_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}" )
  32. set( MACOSX_BUNDLE_COPYRIGHT "(C) gameplay3d contributors" )
  33. set( PLIST_TEMPLATE sample-racer-macosx.plist )
  34. endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
  35. add_executable(${GAME_NAME} ${EXEC_TYPE}
  36. ${GAME_SRC}
  37. ${Apple_Resources}
  38. )
  39. target_link_libraries(${GAME_NAME} ${GAMEPLAY_LIBRARIES})
  40. if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
  41. COPY_RES( ${GAME_NAME} )
  42. COPY_RES_EXTRA( ${GAME_NAME} ${CMAKE_SOURCE_DIR}/gameplay
  43. res/logo_powered_white.png
  44. res/shaders/*
  45. res/ui/*
  46. )
  47. endif(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
  48. # Just use the PNG config file (most compatible)
  49. configure_file( game.png.config game.config COPYONLY )