1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
set_property(DIRECTORY . PROPERTY FOLDER "WebDriver")
set(WebDriver_PRIVATE_INCLUDE_DIRECTORIES
"${CMAKE_BINARY_DIR}"
"${WEBDRIVER_DIR}"
"${WebDriver_DERIVED_SOURCES_DIR}"
)
set(WebDriver_SOURCES
CommandResult.cpp
HTTPServer.cpp
LogInitialization.cpp
Logging.cpp
Session.cpp
SessionHost.cpp
WebDriverMain.cpp
WebDriverService.cpp
)
if (ENABLE_WEBDRIVER_BIDI)
list(APPEND WebDriver_SOURCES WebSocketServer.cpp)
endif ()
set(WebDriver_FRAMEWORKS
WTF
)
if (NOT USE_SYSTEM_MALLOC)
list(APPEND WebDriver_FRAMEWORKS bmalloc)
endif ()
set(WebDriver_SCRIPTS
${WebDriver_DERIVED_SOURCES_DIR}/ElementAttribute.js
${WebDriver_DERIVED_SOURCES_DIR}/ElementDisplayed.js
${WebDriver_DERIVED_SOURCES_DIR}/ElementEnabled.js
${WebDriver_DERIVED_SOURCES_DIR}/ElementText.js
${WebDriver_DERIVED_SOURCES_DIR}/EnterFullscreen.js
${WebDriver_DERIVED_SOURCES_DIR}/FindNodes.js
${WebDriver_DERIVED_SOURCES_DIR}/FormElementClear.js
${WebDriver_DERIVED_SOURCES_DIR}/FormSubmit.js
)
macro(GENERATE_ATOMS _inputs)
foreach (_file IN ITEMS ${_inputs})
get_filename_component(_name ${_file} NAME)
add_custom_command(
OUTPUT ${_file}
MAIN_DEPENDENCY ${WEBKIT_DIR}/Scripts/generate-automation-atom.py
DEPENDS
${WEBKIT_DIR}/UIProcess/Automation/atoms/${_name}
${WEBKIT_DIR}/UIProcess/Automation/atoms/utils.js
COMMAND ${PYTHON_EXECUTABLE} ${WEBKIT_DIR}/Scripts/generate-automation-atom.py ${WEBKIT_DIR}/UIProcess/Automation/atoms/${_name} ${_file}
VERBATIM
)
endforeach ()
endmacro()
GENERATE_ATOMS("${WebDriver_SCRIPTS}")
MAKE_JS_FILE_ARRAYS(
${WebDriver_DERIVED_SOURCES_DIR}/WebDriverAtoms.cpp
${WebDriver_DERIVED_SOURCES_DIR}/WebDriverAtoms.h
WebDriver
WebDriver_SCRIPTS
Session.cpp
)
list(APPEND WebDriver_SOURCES ${WebDriver_DERIVED_SOURCES_DIR}/WebDriverAtoms.cpp)
if (ANDROID AND (PORT STREQUAL WPE))
set(WebDriver_TARGET_TYPE LIBRARY)
set(WebDriver_LIBRARY_TYPE SHARED)
else ()
set(WebDriver_TARGET_TYPE EXECUTABLE)
endif ()
cmake_language(CALL "WEBKIT_${WebDriver_TARGET_TYPE}_DECLARE" WebDriver)
add_dependencies(WebDriver JavaScriptCoreSharedScripts)
WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
cmake_language(CALL "WEBKIT_${WebDriver_TARGET_TYPE}" WebDriver)
install(TARGETS WebDriver
RUNTIME DESTINATION "${EXEC_INSTALL_DIR}"
)
|