@@ -36,6 +36,9 @@ add_djinni_target(DjinniAllTests
36
36
CPPCLI_NAMESPACE "Djinni::TestSuite"
37
37
CPPCLI_INCLUDE_CPP_PREFIX "cpp/"
38
38
WASM_OUT "${CMAKE_CURRENT_BINARY_DIR} /generated-src/wasm"
39
+ WASM_NAMESPACE "testsuite"
40
+ TS_OUT "${CMAKE_CURRENT_BINARY_DIR} /generated-src/ts"
41
+ TS_MODULE "test"
39
42
YAML_OUT "${CMAKE_CURRENT_BINARY_DIR} /generated-src/yaml"
40
43
YAML_PREFIX "test_"
41
44
@@ -46,6 +49,7 @@ add_djinni_target(DjinniAllTests
46
49
OBJCPP_OUT_FILES OBJCPP_GENERATED_SRCS
47
50
CPPCLI_OUT_FILES CPPCLI_GENERATED_SRCS
48
51
WASM_OUT_FILES WASM_GENERATED_SRCS
52
+ TS_OUT_FILES TS_GENERATED_SRCS
49
53
YAML_OUT_FILE YAML_GENERATED_SRCS
50
54
)
51
55
@@ -75,7 +79,9 @@ add_djinni_target(DjinniWCharTests
75
79
CPPCLI_NAMESPACE "Djinni::TestSuite"
76
80
CPPCLI_INCLUDE_CPP_PREFIX "cpp/"
77
81
WASM_OUT "${CMAKE_CURRENT_BINARY_DIR} /generated-src/wasm"
78
- YAML_OUT "${CMAKE_CURRENT_BINARY_DIR} /generated-src/yaml"
82
+ WASM_NAMESPACE "testsuite"
83
+ TS_OUT "${CMAKE_CURRENT_BINARY_DIR} /generated-src/ts"
84
+ TS_MODULE "test_wchar"
79
85
YAML_OUT "${CMAKE_CURRENT_BINARY_DIR} /generated-src/yaml"
80
86
YAML_PREFIX "test_"
81
87
@@ -86,6 +92,7 @@ add_djinni_target(DjinniWCharTests
86
92
OBJCPP_OUT_FILES WCHAR_OBJCPP_GENERATED_SRCS
87
93
CPPCLI_OUT_FILES WCHAR_CPPCLI_GENERATED_SRCS
88
94
WASM_OUT_FILES WCHAR_WASM_GENERATED_SRCS
95
+ TS_OUT_FILES WCHAR_TS_GENERATED_SRCS
89
96
YAML_OUT_FILE WCHAR_YAML_GENERATED_SRCS
90
97
)
91
98
@@ -112,6 +119,7 @@ file(GLOB_RECURSE OBJC_TEST_SRCS "handwritten-src/objc/tests/*")
112
119
file (GLOB_RECURSE C_WRAPPER_HANDWRITTEN_SRCS "handwritten-src/cwrapper/*" )
113
120
file (GLOB_RECURSE PYCPP_HANDWRITTEN_SRCS "handwritten-src/pycpp/*" )
114
121
file (GLOB_RECURSE WASM_HANDWRITTEN_SRCS "handwritten-src/wasm/*" )
122
+ file (GLOB_RECURSE TS_HANDWRITTEN_SRCS "handwritten-src/ts/*" )
115
123
116
124
source_group ("handwritten-cpp" FILES ${CPP_HANDWRITTEN_SRCS} )
117
125
source_group ("handwritten-objc" FILES ${OBJC_HANDWRITTEN_SRCS} )
@@ -124,6 +132,8 @@ source_group("generated-java" FILES ${JAVA_GENERATED_SRCS})
124
132
source_group ("generated-jni" FILES ${JNI_GENERATED_SRCS} )
125
133
source_group ("generated-objc" FILES ${OBJC_GENERATED_SRCS} )
126
134
source_group ("generated-objcpp" FILES ${OBJCPP_GENERATED_SRCS} )
135
+ source_group ("generated-wasm" FILES ${WASM_GENERATED_SRCS} )
136
+ source_group ("generated-ts" FILES ${TS_GENERATED_SRCS} )
127
137
source_group ("generated-yaml" FILES ${YAML_GENERATED_SRCS} )
128
138
129
139
source_group ("generated-cpp" FILES ${WCHAR_CPP_GENERATED_SRCS} )
@@ -132,6 +142,7 @@ source_group("generated-jni" FILES ${WCHAR_JNI_GENERATED_SRCS})
132
142
source_group ("generated-objc" FILES ${WCHAR_OBJC_GENERATED_SRCS} )
133
143
source_group ("generated-objcpp" FILES ${WCHAR_OBJCPP_GENERATED_SRCS} )
134
144
source_group ("generated-wasm" FILES ${WCHAR_WASM_GENERATED_SRCS} )
145
+ source_group ("generated-ts" FILES ${WCHAR_TS_GENERATED_SRCS} )
135
146
source_group ("generated-yaml" FILES ${WCHAR_YAML_GENERATED_SRCS} )
136
147
137
148
if (DJINNI_WITH_JNI )
@@ -212,80 +223,53 @@ endif()
212
223
213
224
214
225
if (DJINNI_WITH_WASM )
215
-
216
- set (DjinniWasmTest "test-wasm" )
217
-
218
- add_executable (${DjinniWasmTest}
219
- ${CPP_HANDWRITTEN_SRCS}
220
- ${CPP_GENERATED_SRCS}
221
- ${WASM_GENERATED_SRCS}
222
- ${WCHAR_CPP_GENERATED_SRCS}
223
- ${WCHAR_WASM_GENERATED_SRCS}
224
- )
225
- target_include_directories (${DjinniWasmTest} PUBLIC
226
- ${CMAKE_SOURCE_DIR}
227
- ${CMAKE_CURRENT_SOURCE_DIR} /handwritten-src/cpp
228
- ${CMAKE_CURRENT_BINARY_DIR} /generated-src/cpp
229
- ${CMAKE_CURRENT_BINARY_DIR} /generated-src/wasm
230
- )
231
-
232
- set (WASM_CC_FLAGS "-s MAIN_MODULE=1 -fexceptions" )
233
- message (WARNING ${WASM_CC_FLAGS} )
234
- set_target_properties (${DjinniWasmTest} PROPERTIES COMPILE_FLAGS ${WASM_CC_FLAGS} )
235
-
236
- set (EMSCRIPTEN_LINK_OPTIONS
237
- "-s WASM=1 "
238
- "--bind " # Compiles the source code using the Embind bindings to connect C/C++ and JavaScript
239
- "-s MALLOC=emmalloc " # Switch to using the much smaller implementation
240
- "-s MODULARIZE=1 " # Allows us to manually invoke the initialization of wasm
241
- "-s WASM_BIGINT=1 " # We need to pass int64_t
242
- )
243
-
244
- set (WASM_LINK_FLAGS "${EMSCRIPTEN_LINK_OPTIONS} -fexceptions" )
245
- message (WARNING ${WASM_LINK_FLAGS} )
246
- set_target_properties (${DjinniWasmTest} PROPERTIES LINK_FLAGS ${WASM_LINK_FLAGS} )
247
- set (CMAKE_EXECUTABLE_SUFFIX ".js" )
248
-
249
- target_link_libraries (${DjinniWasmTest} PUBLIC djinni-support-lib::djinni-support-lib embind )
250
-
251
- add_custom_target (DjinniWasmTestCopy )
252
- file (GLOB DjinniWasmTestResources ${CMAKE_CURRENT_SOURCE_DIR} /handwritten-src/ts/* )
253
- foreach (ResourceFile ${DjinniWasmTestResources} )
254
- add_custom_command (TARGET ${DjinniWasmTest} PRE_BUILD
255
- COMMAND ${CMAKE_COMMAND} -E
256
- copy ${ResourceFile} $< TARGET_FILE_DIR:DjinniWasmTest> )
257
- endforeach ()
258
- add_dependencies (${DjinniWasmTest} DjinniWasmTestCopy )
259
-
260
- # find_program (BASH_PROGRAM bash)
261
-
262
- # add_test(DjinniWasmTestTests ${BASH_PROGRAM} "${CMAKE_CURRENT_BINARY_DIR}/run.sh")
263
- add_test (NAME DjinniWasmTestTests COMMAND bash -c "${CMAKE_CURRENT_BINARY_DIR} /run.sh" )
264
-
265
- # add_custom_target(DjinniWasmTestPrep ALL
266
- # ${CMAKE_COMMAND} -E env PYTHONPATH=${PYTHONPATH} LIBRARY_PATH=$<TARGET_FILE_DIR:mylib> ${PYTHON_EXECUTABLE}
267
- # ${PYCFFI_GENERATED_SRCS}
268
- # ${CMAKE_SOURCE_DIR}/djinni/cwrapper/wrapper_marshal.h
269
- # ${C_WRAPPER_GENERATED_HEADERS}
270
- # ${CMAKE_CURRENT_SOURCE_DIR}/handwritten-src/cwrapper/limits_helper.h
271
- # DEPENDS mylib ${PYCFFI_GENERATED_SRCS} ${PYTHON_GENERATED_SRCS} ${C_WRAPPER_GENERATED_HEADERS}
272
- # COMMENT "Building CFFI lib"
273
- # VERBATIM
274
- # WORKING_DIRECTORY $<TARGET_FILE_DIR:mylib>
275
- # )
276
-
277
- # add_test(NAME PythonTests COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH=${PYTHONPATH}
278
- # ${PYTHON_EXECUTABLE} -m pytest -s "${CMAKE_CURRENT_SOURCE_DIR}/handwritten-src/python"
279
- # )
280
-
281
-
282
- # add_test(NAME DjinniWasmTestTests COMMAND ${Java_JAVA_EXECUTABLE}
283
- # -Xcheck:jni
284
- # -Ddjinni.native_libs_dirs=$<TARGET_FILE:DjinniTestNative>
285
- # -cp ${_JAVA_TESTS_CLASSPATH}
286
- # "com.dropbox.djinni.test.AllTests"
287
- # )
288
-
226
+ set (DjinniWasmTest "test-wasm" )
227
+
228
+ add_executable (${DjinniWasmTest}
229
+ ${CPP_HANDWRITTEN_SRCS}
230
+ ${CPP_GENERATED_SRCS}
231
+ ${WASM_GENERATED_SRCS}
232
+ ${TS_GENERATED_SRCS}
233
+ ${WCHAR_CPP_GENERATED_SRCS}
234
+ ${WCHAR_WASM_GENERATED_SRCS}
235
+ ${WCHAR_TS_GENERATED_SRCS}
236
+ )
237
+ target_include_directories (${DjinniWasmTest} PUBLIC
238
+ ${CMAKE_SOURCE_DIR}
239
+ ${CMAKE_CURRENT_SOURCE_DIR} /handwritten-src/cpp
240
+ ${CMAKE_CURRENT_BINARY_DIR} /generated-src/cpp
241
+ ${CMAKE_CURRENT_BINARY_DIR} /generated-src/wasm
242
+ )
243
+
244
+ set (WASM_CC_FLAGS "-s MAIN_MODULE=1 -fexceptions" )
245
+ message (WARNING ${WASM_CC_FLAGS} )
246
+ set_target_properties (${DjinniWasmTest} PROPERTIES COMPILE_FLAGS ${WASM_CC_FLAGS} )
247
+
248
+ set (EMSCRIPTEN_LINK_OPTIONS
249
+ "-s WASM=1 "
250
+ "--bind " # Compiles the source code using the Embind bindings to connect C/C++ and JavaScript
251
+ "-s MALLOC=emmalloc " # Switch to using the much smaller implementation
252
+ "-s MODULARIZE=1 " # Allows us to manually invoke the initialization of wasm
253
+ "-s WASM_BIGINT=1 " # We need to pass int64_t
254
+ )
255
+
256
+ set (WASM_LINK_FLAGS "${EMSCRIPTEN_LINK_OPTIONS} -fexceptions" )
257
+ message (WARNING ${WASM_LINK_FLAGS} )
258
+ set_target_properties (${DjinniWasmTest} PROPERTIES LINK_FLAGS ${WASM_LINK_FLAGS} )
259
+ set (CMAKE_EXECUTABLE_SUFFIX ".js" )
260
+
261
+ target_link_libraries (${DjinniWasmTest} PUBLIC djinni-support-lib::djinni-support-lib embind )
262
+
263
+ add_custom_target (DjinniWasmTestCopy )
264
+ file (GLOB DjinniWasmTestResources ${CMAKE_CURRENT_SOURCE_DIR} /handwritten-src/ts/* )
265
+ foreach (ResourceFile ${DjinniWasmTestResources} )
266
+ add_custom_command (TARGET ${DjinniWasmTest} PRE_BUILD
267
+ COMMAND ${CMAKE_COMMAND} -E
268
+ copy ${ResourceFile} $< TARGET_FILE_DIR:${DjinniWasmTest} > )
269
+ endforeach ()
270
+ add_dependencies (${DjinniWasmTest} DjinniWasmTestCopy )
271
+
272
+ add_test (NAME DjinniWasmTestTests COMMAND bash -c "${CMAKE_CURRENT_BINARY_DIR} /run.sh" )
289
273
290
274
endif ()
291
275
0 commit comments