2
0

CMakeLists.txt 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. add_compile_options(-fPIC)
  2. if(BuildJIT)
  3. set(chakra_backend_objects $<TARGET_OBJECTS:Chakra.Backend>)
  4. endif()
  5. if(CC_TARGETS_AMD64)
  6. set(wasm_objects $<TARGET_OBJECTS:Chakra.WasmReader>)
  7. set(wasm_includes ${CHAKRACORE_SOURCE_DIR}/lib/WasmReader)
  8. endif()
  9. add_library (ChakraCoreStatic STATIC
  10. ChakraCoreStatic.cpp
  11. $<TARGET_OBJECTS:Chakra.Pal>
  12. $<TARGET_OBJECTS:Chakra.Common.Core>
  13. $<TARGET_OBJECTS:Chakra.Jsrt>
  14. $<TARGET_OBJECTS:Chakra.Jsrt.Core>
  15. ${chakra_backend_objects}
  16. $<TARGET_OBJECTS:Chakra.Common.Common>
  17. $<TARGET_OBJECTS:Chakra.Common.Codex>
  18. $<TARGET_OBJECTS:Chakra.Common.DataStructures>
  19. $<TARGET_OBJECTS:Chakra.Common.Exceptions>
  20. $<TARGET_OBJECTS:Chakra.Common.Memory>
  21. $<TARGET_OBJECTS:Chakra.Common.Util>
  22. $<TARGET_OBJECTS:Chakra.Runtime.Base>
  23. $<TARGET_OBJECTS:Chakra.Runtime.ByteCode>
  24. $<TARGET_OBJECTS:Chakra.Runtime.Debug>
  25. $<TARGET_OBJECTS:Chakra.Runtime.Language>
  26. $<TARGET_OBJECTS:Chakra.Runtime.Library>
  27. $<TARGET_OBJECTS:Chakra.Runtime.Math>
  28. $<TARGET_OBJECTS:Chakra.Runtime.Types>
  29. $<TARGET_OBJECTS:Chakra.Runtime.PlatformAgnostic>
  30. $<TARGET_OBJECTS:Chakra.Parser>
  31. ${wasm_objects}
  32. )
  33. if(CC_TARGET_OS_OSX)
  34. target_link_libraries(ChakraCoreStatic
  35. "-framework CoreFoundation"
  36. "-framework Security"
  37. )
  38. else()
  39. if (NOT CC_TARGET_OS_ANDROID)
  40. set(PTHREAD "pthread")
  41. endif()
  42. target_link_libraries(ChakraCoreStatic
  43. ${PTHREAD}
  44. "dl"
  45. )
  46. endif()
  47. target_include_directories (
  48. ChakraCoreStatic PUBLIC
  49. ${CMAKE_CURRENT_SOURCE_DIR}
  50. ${CHAKRACORE_SOURCE_DIR}/lib/Backend
  51. ${CHAKRACORE_SOURCE_DIR}/lib/Common
  52. ${CHAKRACORE_SOURCE_DIR}/lib/Runtime
  53. ${CHAKRACORE_SOURCE_DIR}/lib/Runtime/ByteCode
  54. ${CHAKRACORE_SOURCE_DIR}/lib/Parser
  55. ${CHAKRACORE_SOURCE_DIR}/lib/Jsrt
  56. ${wasm_includes}
  57. )
  58. if(BuildJIT)
  59. add_subdirectory (Backend)
  60. endif()
  61. add_subdirectory (Common)
  62. add_subdirectory (Parser)
  63. add_subdirectory (Runtime)
  64. add_subdirectory (Jsrt)
  65. if (CC_TARGETS_AMD64)
  66. add_subdirectory (WasmReader)
  67. endif()
  68. if(NOT CC_XCODE_PROJECT)
  69. add_custom_command(TARGET ChakraCoreStatic POST_BUILD
  70. COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_BINARY_DIR}/include"
  71. COMMAND ${CMAKE_COMMAND} -E copy_if_different
  72. "${CMAKE_CURRENT_SOURCE_DIR}/Jsrt/ChakraCore.h"
  73. "${CMAKE_BINARY_DIR}/include"
  74. COMMAND ${CMAKE_COMMAND} -E copy_if_different
  75. "${CMAKE_CURRENT_SOURCE_DIR}/Jsrt/ChakraCommon.h"
  76. "${CMAKE_BINARY_DIR}/include"
  77. COMMAND ${CMAKE_COMMAND} -E copy_if_different
  78. "${CMAKE_CURRENT_SOURCE_DIR}/Jsrt/ChakraDebug.h"
  79. "${CMAKE_BINARY_DIR}/include"
  80. COMMAND ${CMAKE_COMMAND} -E copy_if_different
  81. "${CMAKE_CURRENT_SOURCE_DIR}/Common/ChakraCoreVersion.h"
  82. "${CMAKE_BINARY_DIR}/include"
  83. )
  84. endif(NOT CC_XCODE_PROJECT)