CMakeLists.txt 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. # Source files and their filters
  2. include(CMakeSources.cmake)
  3. # Includes
  4. set(Game_INC
  5. "./"
  6. "../BansheeUtility"
  7. "../BansheeCore"
  8. "../BansheeEngine")
  9. include_directories(${Game_INC})
  10. # Target
  11. if(WIN32)
  12. add_executable(Game WIN32 ${BS_GAME_SRC})
  13. else()
  14. add_executable(Game ${BS_GAME_SRC})
  15. endif()
  16. # Post-build step
  17. if(WIN32)
  18. if(BS_64BIT)
  19. set(BS_COPY_FOLDER Win64)
  20. else()
  21. set(BS_COPY_FOLDER Win32)
  22. endif()
  23. if(MSVC)
  24. add_custom_command(
  25. TARGET Game POST_BUILD
  26. COMMAND xcopy /Y /I \"$(TargetDir)$(TargetName).exe\" \"$(SolutionDir)..\\..\\Data\\Binaries\\${BS_COPY_FOLDER}\\\")
  27. else()
  28. set(SRC_FILE ${BS_BINARY_OUTPUT_DIR}/Game)
  29. set(DST_FOLDER ../${PROJECT_SOURCE_DIR}/Data/Binaries/${BS_COPY_FOLDER})
  30. add_custom_command(TARGET Game POST_BUILD COMMAND xcopy /Y /I ${SRC_FILE} ${DST_FOLDER})
  31. endif()
  32. elseif(LINUX)
  33. if(BS_64BIT)
  34. set(BS_COPY_FOLDER Linux64)
  35. else()
  36. set(BS_COPY_FOLDER Linux32)
  37. endif()
  38. set(SRC_FILE ${BS_BINARY_OUTPUT_DIR}/Game)
  39. set(DST_FOLDER ../${PROJECT_SOURCE_DIR}/Data/Binaries/${BS_COPY_FOLDER})
  40. add_custom_command(
  41. TARGET Game POST_BUILD
  42. COMMAND rm -rf ${DST_FOLDER}
  43. COMMAND mkdir ${DST_FOLDER}
  44. COMMAND cp ${SRC_FILE} ${DST_FOLDER})
  45. else()
  46. # TODO_OTHER_PLATFORMS_GO_HERE
  47. endif()
  48. # Libraries
  49. ## Local libs
  50. target_link_libraries(Game BansheeEngine BansheeUtility BansheeCore)
  51. # IDE specific
  52. set_property(TARGET Game PROPERTY FOLDER Executable)
  53. # Plugin dependencies
  54. add_engine_dependencies(Game)
  55. # Compiler flags
  56. if(MSVC)
  57. target_compile_options(Game PUBLIC /wd4509)
  58. endif()