File: GLib.cmake

package info (click to toggle)
webkit2gtk 2.48.5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 429,764 kB
  • sloc: cpp: 3,697,587; javascript: 194,444; ansic: 169,997; python: 46,499; asm: 19,295; ruby: 18,528; perl: 16,602; xml: 4,650; yacc: 2,360; sh: 2,098; java: 1,993; lex: 1,327; pascal: 366; makefile: 298
file content (75 lines) | stat: -rw-r--r-- 2,556 bytes parent folder | download | duplicates (10)
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
)