CMakeLists.txt 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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 AtomicNETScript Poco ${ATOMIC_LINK_LIBRARIES})
  7. if (MSVC)
  8. target_link_libraries(AtomicTool libcurl Iphlpapi Wldap32)
  9. else()
  10. target_link_libraries(AtomicTool libcurl)
  11. endif()
  12. # Custom target which is always considered out of date, checks for zero size/missing script bindings and generates
  13. add_custom_target( AtomicToolCheckScripts
  14. WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
  15. COMMAND "${CMAKE_COMMAND}" -E make_directory \"${CMAKE_SOURCE_DIR}/Artifacts/Build/AtomicTool\"
  16. COMMAND "${CMAKE_COMMAND}" -E copy_if_different \"$<TARGET_FILE:AtomicTool>\" \"${CMAKE_SOURCE_DIR}/Artifacts/Build/AtomicTool/\"
  17. COMMAND ${ATOMIC_NODE_JAKE};build:genscripts[false] )
  18. add_dependencies (AtomicToolCheckScripts AtomicTool)
  19. # Copy AtomicTool to Artifacts
  20. add_custom_command( TARGET AtomicTool POST_BUILD
  21. COMMAND "${CMAKE_COMMAND}"
  22. ARGS -E make_directory \"${CMAKE_SOURCE_DIR}/Artifacts/Build/AtomicTool\"
  23. COMMAND "${CMAKE_COMMAND}"
  24. ARGS -E copy_if_different \"$<TARGET_FILE:AtomicTool>\" \"${CMAKE_SOURCE_DIR}/Artifacts/Build/AtomicTool/\"
  25. COMMENT "Copying AtomicTool to Build Artifacts" )
  26. if (MSVC)
  27. # Copy the D3D shader compiler (for pre-Windows 8)
  28. add_custom_command( TARGET AtomicTool POST_BUILD
  29. COMMAND ${CMAKE_COMMAND}
  30. ARGS -E copy_if_different \"${D3DCOMPILER_47_DLL}\" \"$<TARGET_FILE_DIR:AtomicTool>/D3DCompiler_47.dll\"
  31. COMMAND "${CMAKE_COMMAND}"
  32. ARGS -E make_directory \"${CMAKE_SOURCE_DIR}/Artifacts/Build/AtomicTool\"
  33. COMMAND ${CMAKE_COMMAND}
  34. ARGS -E copy_if_different \"${D3DCOMPILER_47_DLL}\" \"${CMAKE_SOURCE_DIR}/Artifacts/Build/AtomicTool/D3DCompiler_47.dll\"
  35. COMMENT "Copying D3DShader compiler to Build Artifacts" )
  36. endif(MSVC)
  37. add_custom_target ( GenerateScriptBindings
  38. WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
  39. COMMAND ${ATOMIC_NODE_JAKE};build:genscripts[true];--trace
  40. DEPENDS AtomicTool )
  41. add_custom_target ( GenerateAtomicNET
  42. WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
  43. COMMAND ${ATOMIC_NODE_JAKE};build:genAtomicNET[desktop,$<$<CONFIG:debug>:"Debug">$<$<CONFIG:release>:"Release">];--trace
  44. DEPENDS AtomicTool )