CMakeLists.txt 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. set (ATOMIC_TOOL_SOURCES AtomicTool.cpp AtomicTool.h)
  2. if (MSVC)
  3. add_definitions(-DATOMIC_WIN32_CONSOLE)
  4. endif(MSVC)
  5. add_executable(AtomicTool ${ATOMIC_TOOL_SOURCES})
  6. target_link_libraries(AtomicTool ToolCore NETCore NETScript Poco ${ATOMIC_LINK_LIBRARIES})
  7. if (MSVC)
  8. target_link_libraries(AtomicTool libcurl Iphlpapi Wldap32)
  9. # pre-Windows 8 can't count on D3DCompiler_47.dll being on system
  10. # TODO: Remove this dependency
  11. add_custom_command (TARGET AtomicTool POST_BUILD
  12. COMMAND ${CMAKE_COMMAND}
  13. ARGS -E copy_if_different \"${D3DCOMPILER_47_DLL}\" \"$<TARGET_FILE_DIR:AtomicTool>/D3DCompiler_47.dll\")
  14. else()
  15. target_link_libraries(AtomicTool curl)
  16. endif()
  17. add_custom_command( TARGET AtomicTool POST_BUILD
  18. COMMAND ${CMAKE_COMMAND}
  19. ARGS -E make_directory ${CMAKE_SOURCE_DIR}/Artifacts/Build/AtomicTool
  20. COMMAND ${CMAKE_COMMAND}
  21. ARGS -E copy_if_different $<TARGET_FILE:AtomicTool> \"${CMAKE_SOURCE_DIR}/Artifacts/Build/AtomicTool/\" )
  22. if (MSVC)
  23. # Copy the D3D shader compiler
  24. add_custom_command( TARGET AtomicTool POST_BUILD
  25. COMMAND ${CMAKE_COMMAND}
  26. ARGS -E copy_if_different \"${D3DCOMPILER_47_DLL}\" \"${CMAKE_SOURCE_DIR}/Artifacts/Build/AtomicTool/D3DCompiler_47.dll\"
  27. COMMENT "Copying AtomicTool to Build Artifacts" )
  28. endif(MSVC)
  29. add_custom_target ( GenerateScriptBindings
  30. WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
  31. COMMAND ${ATOMIC_NODE_JAKE};build:genscripts[${JAVASCRIPT_BINDINGS_PLATFORM}]
  32. DEPENDS AtomicTool )
  33. if (ATOMIC_DOTNET_DEV)
  34. if (NOT EXISTS ${CMAKE_SOURCE_DIR}/Artifacts/AtomicNET/TPA)
  35. file(MAKE_DIRECTORY ${CMAKE_SOURCE_DIR}/Artifacts/AtomicNET/TPA)
  36. endif()
  37. if (NOT EXISTS ${CMAKE_SOURCE_DIR}/Artifacts/AtomicNET/Build)
  38. file(MAKE_DIRECTORY ${CMAKE_SOURCE_DIR}/Artifacts/AtomicNET/Build)
  39. endif()
  40. if (MSVC)
  41. add_custom_command(TARGET AtomicTool POST_BUILD
  42. WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/Artifacts/AtomicNET/Build/
  43. COMMAND $<TARGET_FILE:AtomicTool> net-projectgen "\"${CMAKE_SOURCE_DIR}/Script/AtomicNET/AtomicNETProjects.json\"" WINDOWS
  44. COMMAND msbuild
  45. COMMENT "Compiling AtomicNET Assemblies")
  46. elseif(APPLE)
  47. if (NOT IOS)
  48. # if we have xbuild available
  49. if(EXISTS "/usr/local/bin/xbuild")
  50. add_custom_command(TARGET AtomicTool POST_BUILD
  51. WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/Artifacts/AtomicNET/Build/
  52. COMMAND $<TARGET_FILE:AtomicTool> net-projectgen "\"${CMAKE_SOURCE_DIR}/Script/AtomicNET/AtomicNETProjects.json\"" MACOSX
  53. COMMAND /usr/local/bin/xbuild
  54. COMMENT "Compiling AtomicNET Assemblies")
  55. endif(xbuild)
  56. endif(NOT IOS)
  57. endif()
  58. endif(ATOMIC_DOTNET_DEV)