CMakeLists.txt 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. include_directories ( ${CMAKE_SOURCE_DIR}/Source/ThirdParty
  2. ${CMAKE_SOURCE_DIR}/Source/ThirdParty/rapidjson/include
  3. ${CMAKE_SOURCE_DIR}/Source/ThirdParty/kNet/include
  4. ${CMAKE_SOURCE_DIR}/Source/ThirdParty/FreeType/include
  5. ${CMAKE_SOURCE_DIR}/Source/ThirdParty/Box2D
  6. ${CMAKE_SOURCE_DIR}/Source/ThirdParty/nativefiledialog )
  7. file (GLOB_RECURSE SOURCE_FILES *.cpp *.h)
  8. file (GLOB JAVASCRIPT_BINDINGS_SOURCE ${CMAKE_SOURCE_DIR}/Artifacts/Build/Source/Generated/${JAVASCRIPT_BINDINGS_PLATFORM}/Javascript/Packages/Editor/*.cpp)
  9. set (SOURCE_FILES ${SOURCE_FILES} ${JAVASCRIPT_BINDINGS_SOURCE})
  10. set (SOURCE_FILES ${SOURCE_FILES} ${CSHARP_BINDINGS_SOURCE} ${CSHARPATOMICPLAYER_BINDINGS_SOURCE} ${CSHARPATOMICNET_BINDINGS_SOURCE})
  11. if (APPLE)
  12. file (GLOB_RECURSE OBJC_FILES *.mm *.h)
  13. set (SOURCE_FILES ${SOURCE_FILES} ${OBJC_FILES})
  14. set (EXE_TYPE MACOSX_BUNDLE)
  15. #ICNS
  16. set(MACOSX_BUNDLE_ICON_FILE Atomic.icns)
  17. set(ATOMIC_EDITOR_ICON ${CMAKE_SOURCE_DIR}/Build/CMake/Modules/Atomic.icns)
  18. set_source_files_properties(${ATOMIC_EDITOR_ICON} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
  19. elseif(LINUX)
  20. else()
  21. include_directories (${CMAKE_SOURCE_DIR}/Source/ThirdParty/libcurl/include)
  22. add_definitions(-DCURL_STATICLIB)
  23. # We want the console for now
  24. #set (EXE_TYPE WIN32)
  25. add_definitions(-DATOMIC_WIN32_CONSOLE)
  26. set (SOURCE_FILES ${SOURCE_FILES} ${CMAKE_SOURCE_DIR}/Build/CMake/Modules/Atomic.rc)
  27. endif(APPLE)
  28. add_executable(AtomicEditor ${EXE_TYPE} ${SOURCE_FILES} ${ATOMIC_EDITOR_ICON})
  29. target_link_libraries(AtomicEditor ToolCore AtomicJS AtomicPlayerJS AtomicNETJS ToolCoreJS Poco nativefiledialog ${ATOMIC_LINK_LIBRARIES})
  30. if (APPLE)
  31. set (TARGET_PROPERTIES MACOSX_BUNDLE_INFO_PLIST MacOSXBundleInfo.plist.template)
  32. target_link_libraries(AtomicEditor NETCore NETScript curl)
  33. elseif(LINUX)
  34. target_link_libraries(AtomicEditor NETCore NETScript curl nativefiledialog ${GTK3_LIBRARIES})
  35. else()
  36. target_link_libraries(AtomicEditor NETCore NETScript libcurl Iphlpapi Wldap32)
  37. # pre-Windows 8 can't count on D3DCompiler_47.dll being on system
  38. add_custom_command (TARGET AtomicEditor POST_BUILD
  39. COMMAND ${CMAKE_COMMAND}
  40. ARGS -E copy_if_different \"${D3DCOMPILER_47_DLL}\" \"$<TARGET_FILE_DIR:AtomicEditor>/D3DCompiler_47.dll\")
  41. endif()
  42. if (TARGET_PROPERTIES)
  43. set_target_properties (AtomicEditor PROPERTIES ${TARGET_PROPERTIES})
  44. endif ()
  45. GroupSources("Application")
  46. GroupSources("EditorMode")
  47. GroupSources("Editors")
  48. GroupSources("Javascript")
  49. GroupSources("PlayerMode")
  50. GroupSources("Utils")