forked from WebKit/WebKit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGLib.cmake
75 lines (65 loc) · 2.5 KB
/
GLib.cmake
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
include(GLibMacros)
file(MAKE_DIRECTORY ${JavaScriptCoreGLib_FRAMEWORK_HEADERS_DIR})
file(MAKE_DIRECTORY ${JavaScriptCoreGLib_DERIVED_SOURCES_DIR}/jsc)
list(APPEND JavaScriptCore_SOURCES
API/glib/JSAPIWrapperGlobalObject.cpp
API/glib/JSAPIWrapperObjectGLib.cpp
API/glib/JSCCallbackFunction.cpp
API/glib/JSCClass.cpp
API/glib/JSCContext.cpp
API/glib/JSCException.cpp
API/glib/JSCOptions.cpp
API/glib/JSCValue.cpp
API/glib/JSCVersion.cpp
API/glib/JSCVirtualMachine.cpp
API/glib/JSCWeakValue.cpp
API/glib/JSCWrapperMap.cpp
)
list(APPEND JavaScriptCore_PRIVATE_INCLUDE_DIRECTORIES
"${JAVASCRIPTCORE_DIR}/API/glib"
"${JavaScriptCoreGLib_DERIVED_SOURCES_DIR}"
"${JavaScriptCoreGLib_DERIVED_SOURCES_DIR}/jsc"
"${JavaScriptCoreGLib_FRAMEWORK_HEADERS_DIR}"
)
list(APPEND JavaScriptCore_INTERFACE_INCLUDE_DIRECTORIES
"${JavaScriptCoreGLib_FRAMEWORK_HEADERS_DIR}"
"${JavaScriptCoreGLib_DERIVED_SOURCES_DIR}"
)
set(JavaScriptCore_INSTALLED_HEADERS
${JAVASCRIPTCORE_DIR}/API/glib/JSCOptions.h
${JavaScriptCoreGLib_DERIVED_SOURCES_DIR}/jsc/JSCVersion.h
)
if (NOT ENABLE_2022_GLIB_API)
list(APPEND JavaScriptCore_INSTALLED_HEADERS
${JAVASCRIPTCORE_DIR}/API/glib/JSCAutocleanups.h
)
endif ()
set(JavaScriptCore_HEADER_TEMPLATES
${JAVASCRIPTCORE_DIR}/API/glib/JSCClass.h.in
${JAVASCRIPTCORE_DIR}/API/glib/JSCContext.h.in
${JAVASCRIPTCORE_DIR}/API/glib/JSCDefines.h.in
${JAVASCRIPTCORE_DIR}/API/glib/JSCException.h.in
${JAVASCRIPTCORE_DIR}/API/glib/JSCValue.h.in
${JAVASCRIPTCORE_DIR}/API/glib/JSCVirtualMachine.h.in
${JAVASCRIPTCORE_DIR}/API/glib/JSCWeakValue.h.in
${JAVASCRIPTCORE_DIR}/API/glib/jsc.h.in
)
GENERATE_GLIB_API_HEADERS(JavaScriptCore JavaScriptCore_HEADER_TEMPLATES
${JavaScriptCoreGLib_DERIVED_SOURCES_DIR}/jsc
JavaScriptCore_INSTALLED_HEADERS
"-DENABLE_2022_GLIB_API=$<BOOL:${ENABLE_2022_GLIB_API}>"
)
configure_file(API/glib/JSCVersion.h.in ${JavaScriptCoreGLib_DERIVED_SOURCES_DIR}/jsc/JSCVersion.h)
# These symbolic link allows includes like #include <jsc/jsc.h> which simulates installed headers.
add_custom_command(
OUTPUT ${JavaScriptCoreGLib_FRAMEWORK_HEADERS_DIR}/jsc
DEPENDS ${JAVASCRIPTCORE_DIR}/API/glib
COMMAND ln -n -s -f ${JAVASCRIPTCORE_DIR}/API/glib ${JavaScriptCoreGLib_FRAMEWORK_HEADERS_DIR}/jsc
VERBATIM
)
add_custom_target(JSC-fake-api-headers
DEPENDS ${JavaScriptCoreGLib_FRAMEWORK_HEADERS_DIR}/jsc
)
set(JavaScriptCore_EXTRA_DEPENDENCIES
JSC-fake-api-headers
)