/src/3rdparty/webkit/Source/JavaScriptCore/CMakeLists.txt

https://bitbucket.org/ultra_iter/qt-vtl · CMake · 250 lines · 218 code · 29 blank · 3 comment · 0 complexity · 0b499174774aec52a5ff56d425ee4905 MD5 · raw file

  1. SET(JavaScriptCore_INCLUDE_DIRECTORIES
  2. "${CMAKE_BINARY_DIR}"
  3. "${JAVASCRIPTCORE_DIR}"
  4. "${JAVASCRIPTCORE_DIR}/API"
  5. "${JAVASCRIPTCORE_DIR}/ForwardingHeaders"
  6. "${JAVASCRIPTCORE_DIR}/assembler"
  7. "${JAVASCRIPTCORE_DIR}/bytecode"
  8. "${JAVASCRIPTCORE_DIR}/bytecompiler"
  9. "${JAVASCRIPTCORE_DIR}/heap"
  10. "${JAVASCRIPTCORE_DIR}/debugger"
  11. "${JAVASCRIPTCORE_DIR}/interpreter"
  12. "${JAVASCRIPTCORE_DIR}/jit"
  13. "${JAVASCRIPTCORE_DIR}/parser"
  14. "${JAVASCRIPTCORE_DIR}/profiler"
  15. "${JAVASCRIPTCORE_DIR}/runtime"
  16. "${JAVASCRIPTCORE_DIR}/yarr"
  17. "${WTF_INCLUDE_DIRECTORIES}"
  18. "${CMAKE_SOURCE_DIR}"
  19. )
  20. SET(JavaScriptCore_SOURCES
  21. API/JSBase.cpp
  22. API/JSCallbackConstructor.cpp
  23. API/JSCallbackFunction.cpp
  24. API/JSCallbackObject.cpp
  25. API/JSClassRef.cpp
  26. API/JSContextRef.cpp
  27. API/JSObjectRef.cpp
  28. API/JSProfilerPrivate.cpp
  29. API/JSStringRef.cpp
  30. API/JSValueRef.cpp
  31. API/JSWeakObjectMapRefPrivate.cpp
  32. API/OpaqueJSString.cpp
  33. bytecode/CodeBlock.cpp
  34. bytecode/JumpTable.cpp
  35. bytecode/Opcode.cpp
  36. bytecode/SamplingTool.cpp
  37. bytecode/StructureStubInfo.cpp
  38. bytecompiler/BytecodeGenerator.cpp
  39. bytecompiler/NodesCodegen.cpp
  40. heap/Heap.cpp
  41. heap/HandleHeap.cpp
  42. heap/HandleStack.cpp
  43. heap/MachineStackMarker.cpp
  44. heap/MarkedBlock.cpp
  45. heap/MarkedSpace.cpp
  46. heap/ConservativeRoots.cpp
  47. heap/MarkStack.cpp
  48. debugger/Debugger.cpp
  49. debugger/DebuggerActivation.cpp
  50. debugger/DebuggerCallFrame.cpp
  51. interpreter/CallFrame.cpp
  52. interpreter/Interpreter.cpp
  53. interpreter/RegisterFile.cpp
  54. jit/ExecutableAllocator.cpp
  55. jit/JITArithmetic32_64.cpp
  56. jit/JITArithmetic.cpp
  57. jit/JITCall32_64.cpp
  58. jit/JITCall.cpp
  59. jit/JIT.cpp
  60. jit/JITOpcodes32_64.cpp
  61. jit/JITOpcodes.cpp
  62. jit/JITPropertyAccess32_64.cpp
  63. jit/JITPropertyAccess.cpp
  64. jit/JITStubs.cpp
  65. jit/ThunkGenerators.cpp
  66. parser/JSParser.cpp
  67. parser/Lexer.cpp
  68. parser/Nodes.cpp
  69. parser/Parser.cpp
  70. parser/ParserArena.cpp
  71. parser/SourceProviderCache.cpp
  72. profiler/Profile.cpp
  73. profiler/ProfileGenerator.cpp
  74. profiler/ProfileNode.cpp
  75. profiler/Profiler.cpp
  76. runtime/ArgList.cpp
  77. runtime/Arguments.cpp
  78. runtime/ArrayConstructor.cpp
  79. runtime/ArrayPrototype.cpp
  80. runtime/BooleanConstructor.cpp
  81. runtime/BooleanObject.cpp
  82. runtime/BooleanPrototype.cpp
  83. runtime/CallData.cpp
  84. runtime/CommonIdentifiers.cpp
  85. runtime/Completion.cpp
  86. runtime/ConstructData.cpp
  87. runtime/DateConstructor.cpp
  88. runtime/DateConversion.cpp
  89. runtime/DateInstance.cpp
  90. runtime/DatePrototype.cpp
  91. runtime/Error.cpp
  92. runtime/ErrorConstructor.cpp
  93. runtime/ErrorInstance.cpp
  94. runtime/ErrorPrototype.cpp
  95. runtime/ExceptionHelpers.cpp
  96. runtime/Executable.cpp
  97. runtime/FunctionConstructor.cpp
  98. runtime/FunctionPrototype.cpp
  99. runtime/GCActivityCallback.cpp
  100. runtime/GetterSetter.cpp
  101. runtime/Identifier.cpp
  102. runtime/InitializeThreading.cpp
  103. runtime/InternalFunction.cpp
  104. runtime/JSActivation.cpp
  105. runtime/JSAPIValueWrapper.cpp
  106. runtime/JSArray.cpp
  107. runtime/JSByteArray.cpp
  108. runtime/JSCell.cpp
  109. runtime/JSFunction.cpp
  110. runtime/JSGlobalData.cpp
  111. runtime/JSGlobalObject.cpp
  112. runtime/JSGlobalObjectFunctions.cpp
  113. runtime/JSLock.cpp
  114. runtime/JSNotAnObject.cpp
  115. runtime/JSObject.cpp
  116. runtime/JSObjectWithGlobalObject.cpp
  117. runtime/JSONObject.cpp
  118. runtime/JSPropertyNameIterator.cpp
  119. runtime/JSStaticScopeObject.cpp
  120. runtime/JSString.cpp
  121. runtime/JSValue.cpp
  122. runtime/JSVariableObject.cpp
  123. runtime/JSWrapperObject.cpp
  124. runtime/JSZombie.cpp
  125. runtime/LiteralParser.cpp
  126. runtime/Lookup.cpp
  127. runtime/MathObject.cpp
  128. runtime/NativeErrorConstructor.cpp
  129. runtime/NativeErrorPrototype.cpp
  130. runtime/NumberConstructor.cpp
  131. runtime/NumberObject.cpp
  132. runtime/NumberPrototype.cpp
  133. runtime/ObjectConstructor.cpp
  134. runtime/ObjectPrototype.cpp
  135. runtime/Operations.cpp
  136. runtime/PropertyDescriptor.cpp
  137. runtime/PropertyNameArray.cpp
  138. runtime/PropertySlot.cpp
  139. runtime/RegExp.cpp
  140. runtime/RegExpCache.cpp
  141. runtime/RegExpConstructor.cpp
  142. runtime/RegExpObject.cpp
  143. runtime/RegExpPrototype.cpp
  144. runtime/RopeImpl.cpp
  145. runtime/ScopeChain.cpp
  146. runtime/SmallStrings.cpp
  147. runtime/StrictEvalActivation.cpp
  148. runtime/StringConstructor.cpp
  149. runtime/StringObject.cpp
  150. runtime/StringPrototype.cpp
  151. runtime/StringRecursionChecker.cpp
  152. runtime/Structure.cpp
  153. runtime/StructureChain.cpp
  154. runtime/TimeoutChecker.cpp
  155. runtime/UString.cpp
  156. yarr/YarrPattern.cpp
  157. yarr/YarrInterpreter.cpp
  158. yarr/YarrJIT.cpp
  159. yarr/YarrSyntaxChecker.cpp
  160. wtf/DateMath.cpp
  161. wtf/PageAllocationAligned.cpp
  162. wtf/PageBlock.cpp
  163. )
  164. SET(JavaScriptCore_HEADERS )
  165. SET(JavaScriptCore_LUT_FILES
  166. runtime/ArrayPrototype.cpp
  167. runtime/DatePrototype.cpp
  168. runtime/JSONObject.cpp
  169. runtime/MathObject.cpp
  170. runtime/NumberConstructor.cpp
  171. runtime/ObjectConstructor.cpp
  172. runtime/RegExpConstructor.cpp
  173. runtime/RegExpObject.cpp
  174. runtime/StringPrototype.cpp
  175. )
  176. SET(JavaScriptCore_LIBRARIES
  177. ${WTF_LIBRARY_NAME}
  178. )
  179. # GENERATOR 1-A: LUT creator
  180. FOREACH (_file ${JavaScriptCore_LUT_FILES})
  181. GET_FILENAME_COMPONENT(_name ${_file} NAME_WE)
  182. GENERATE_HASH_LUT(${JAVASCRIPTCORE_DIR}/${_file} ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/${_name}.lut.h)
  183. LIST(APPEND JavaScriptCore_HEADERS ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/${_name}.lut.h)
  184. ENDFOREACH ()
  185. # GENERATOR 1-B: particular LUT creator (for 1 file only)
  186. GENERATE_HASH_LUT(${JAVASCRIPTCORE_DIR}/parser/Keywords.table ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/Lexer.lut.h MAIN_DEPENDENCY)
  187. LIST(APPEND JavaScriptCore_HEADERS ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/Lexer.lut.h)
  188. #GENERATOR: "RegExpJitTables.h": tables used by Yarr
  189. ADD_CUSTOM_COMMAND(
  190. OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/RegExpJitTables.h
  191. MAIN_DEPENDENCY ${JAVASCRIPTCORE_DIR}/create_regex_tables
  192. COMMAND ${PYTHON_EXECUTABLE} ${JAVASCRIPTCORE_DIR}/create_regex_tables > ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/RegExpJitTables.h
  193. VERBATIM)
  194. ADD_SOURCE_DEPENDENCIES(${JAVASCRIPTCORE_DIR}/yarr/YarrPattern.cpp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/RegExpJitTables.h)
  195. IF (WTF_CPU_ARM)
  196. LIST(APPEND JavaScriptCore_SOURCES
  197. assembler/ARMAssembler.cpp
  198. assembler/ARMv7Assembler.cpp
  199. assembler/MacroAssemblerARM.cpp
  200. )
  201. ELSEIF (WTF_CPU_MIPS)
  202. ELSEIF (WTF_CPU_X86)
  203. ELSEIF (WTF_CPU_X86_64)
  204. ELSE ()
  205. MESSAGE(FATAL_ERROR "Unknown CPU")
  206. ENDIF ()
  207. INCLUDE_IF_EXISTS(${JAVASCRIPTCORE_DIR}/CMakeLists${PORT}.txt)
  208. ADD_SUBDIRECTORY(wtf)
  209. ADD_SUBDIRECTORY(shell)
  210. WEBKIT_WRAP_SOURCELIST(${JavaScriptCore_SOURCES})
  211. INCLUDE_DIRECTORIES(${JavaScriptCore_INCLUDE_DIRECTORIES})
  212. ADD_DEFINITIONS(-DBUILDING_JavaScriptCore)
  213. ADD_LIBRARY(${JavaScriptCore_LIBRARY_NAME} ${JavaScriptCore_LIBRARY_TYPE} ${JavaScriptCore_HEADERS} ${JavaScriptCore_SOURCES})
  214. TARGET_LINK_LIBRARIES(${JavaScriptCore_LIBRARY_NAME} ${JavaScriptCore_LIBRARIES})
  215. IF (JavaScriptCore_LINK_FLAGS)
  216. ADD_TARGET_PROPERTIES(${JavaScriptCore_LIBRARY_NAME} LINK_FLAGS "${JavaScriptCore_LINK_FLAGS}")
  217. ENDIF ()
  218. IF (SHARED_CORE)
  219. SET_TARGET_PROPERTIES(${JavaScriptCore_LIBRARY_NAME} PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR})
  220. INSTALL(TARGETS ${JavaScriptCore_LIBRARY_NAME} DESTINATION lib)
  221. ENDIF ()