list(APPEND JavaScriptCore_UNIFIED_SOURCE_LIST_FILES "SourcesGTK.txt" ) list(APPEND JavaScriptCore_INCLUDE_DIRECTORIES "${JAVASCRIPTCORE_DIR}/inspector/remote/glib" ) configure_file(javascriptcoregtk.pc.in ${CMAKE_BINARY_DIR}/Source/JavaScriptCore/javascriptcoregtk-${WEBKITGTK_API_VERSION}.pc @ONLY) configure_file(JavaScriptCore.gir.in ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir @ONLY) add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.typelib DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir COMMAND ${INTROSPECTION_COMPILER} ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir -o ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.typelib ) ADD_TYPELIB(${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.typelib) install(FILES "${CMAKE_BINARY_DIR}/Source/JavaScriptCore/javascriptcoregtk-${WEBKITGTK_API_VERSION}.pc" DESTINATION "${LIB_INSTALL_DIR}/pkgconfig" ) install(FILES API/JavaScript.h API/JSBase.h API/JSContextRef.h API/JSObjectRef.h API/JSStringRef.h API/JSTypedArray.h API/JSValueRef.h API/WebKitAvailability.h DESTINATION "${WEBKITGTK_HEADER_INSTALL_DIR}/JavaScriptCore" ) if (ENABLE_INTROSPECTION) install(FILES ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir DESTINATION ${INTROSPECTION_INSTALL_GIRDIR} ) install(FILES ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.typelib DESTINATION ${INTROSPECTION_INSTALL_TYPELIBDIR} ) endif () add_definitions(-DSTATICALLY_LINKED_WITH_WTF) add_definitions(-DLIBDIR="${LIB_INSTALL_DIR}") list(APPEND JavaScriptCore_LIBRARIES ${GLIB_LIBRARIES} ) list(APPEND JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES ${GLIB_INCLUDE_DIRS} ) # Linking WebKit properly is extremely tricky. We need to build both a static library # and a shared library for JSC. See https://bugs.webkit.org/show_bug.cgi?id=179914. set(JavaScriptCoreGTK_LIBRARIES JavaScriptCore${DEBUG_SUFFIX} ) ADD_WHOLE_ARCHIVE_TO_LIBRARIES(JavaScriptCoreGTK_LIBRARIES) add_library(JavaScriptCoreGTK SHARED "${CMAKE_BINARY_DIR}/cmakeconfig.h") target_link_libraries(JavaScriptCoreGTK ${JavaScriptCoreGTK_LIBRARIES}) set_target_properties(JavaScriptCoreGTK PROPERTIES OUTPUT_NAME javascriptcoregtk-${WEBKITGTK_API_VERSION}) WEBKIT_POPULATE_LIBRARY_VERSION(JAVASCRIPTCORE) set_target_properties(JavaScriptCoreGTK PROPERTIES VERSION ${JAVASCRIPTCORE_VERSION} SOVERSION ${JAVASCRIPTCORE_VERSION_MAJOR}) if (NOT DEVELOPER_MODE AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin") WEBKIT_ADD_TARGET_PROPERTIES(JavaScriptCoreGTK LINK_FLAGS "-Wl,--version-script,${CMAKE_CURRENT_SOURCE_DIR}/javascriptcoregtk-symbols.map") endif () install(TARGETS JavaScriptCoreGTK DESTINATION "${LIB_INSTALL_DIR}")