@@ -36,6 +36,9 @@ add_djinni_target(DjinniAllTests
3636 CPPCLI_NAMESPACE "Djinni::TestSuite"
3737 CPPCLI_INCLUDE_CPP_PREFIX "cpp/"
3838 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"
3942 YAML_OUT "${CMAKE_CURRENT_BINARY_DIR} /generated-src/yaml"
4043 YAML_PREFIX "test_"
4144
@@ -46,6 +49,7 @@ add_djinni_target(DjinniAllTests
4649 OBJCPP_OUT_FILES OBJCPP_GENERATED_SRCS
4750 CPPCLI_OUT_FILES CPPCLI_GENERATED_SRCS
4851 WASM_OUT_FILES WASM_GENERATED_SRCS
52+ TS_OUT_FILES TS_GENERATED_SRCS
4953 YAML_OUT_FILE YAML_GENERATED_SRCS
5054)
5155
@@ -75,7 +79,9 @@ add_djinni_target(DjinniWCharTests
7579 CPPCLI_NAMESPACE "Djinni::TestSuite"
7680 CPPCLI_INCLUDE_CPP_PREFIX "cpp/"
7781 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"
7985 YAML_OUT "${CMAKE_CURRENT_BINARY_DIR} /generated-src/yaml"
8086 YAML_PREFIX "test_"
8187
@@ -86,6 +92,7 @@ add_djinni_target(DjinniWCharTests
8692 OBJCPP_OUT_FILES WCHAR_OBJCPP_GENERATED_SRCS
8793 CPPCLI_OUT_FILES WCHAR_CPPCLI_GENERATED_SRCS
8894 WASM_OUT_FILES WCHAR_WASM_GENERATED_SRCS
95+ TS_OUT_FILES WCHAR_TS_GENERATED_SRCS
8996 YAML_OUT_FILE WCHAR_YAML_GENERATED_SRCS
9097)
9198
@@ -112,6 +119,7 @@ file(GLOB_RECURSE OBJC_TEST_SRCS "handwritten-src/objc/tests/*")
112119file (GLOB_RECURSE C_WRAPPER_HANDWRITTEN_SRCS "handwritten-src/cwrapper/*" )
113120file (GLOB_RECURSE PYCPP_HANDWRITTEN_SRCS "handwritten-src/pycpp/*" )
114121file (GLOB_RECURSE WASM_HANDWRITTEN_SRCS "handwritten-src/wasm/*" )
122+ file (GLOB_RECURSE TS_HANDWRITTEN_SRCS "handwritten-src/ts/*" )
115123
116124source_group ("handwritten-cpp" FILES ${CPP_HANDWRITTEN_SRCS} )
117125source_group ("handwritten-objc" FILES ${OBJC_HANDWRITTEN_SRCS} )
@@ -124,6 +132,8 @@ source_group("generated-java" FILES ${JAVA_GENERATED_SRCS})
124132source_group ("generated-jni" FILES ${JNI_GENERATED_SRCS} )
125133source_group ("generated-objc" FILES ${OBJC_GENERATED_SRCS} )
126134source_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} )
127137source_group ("generated-yaml" FILES ${YAML_GENERATED_SRCS} )
128138
129139source_group ("generated-cpp" FILES ${WCHAR_CPP_GENERATED_SRCS} )
@@ -132,6 +142,7 @@ source_group("generated-jni" FILES ${WCHAR_JNI_GENERATED_SRCS})
132142source_group ("generated-objc" FILES ${WCHAR_OBJC_GENERATED_SRCS} )
133143source_group ("generated-objcpp" FILES ${WCHAR_OBJCPP_GENERATED_SRCS} )
134144source_group ("generated-wasm" FILES ${WCHAR_WASM_GENERATED_SRCS} )
145+ source_group ("generated-ts" FILES ${WCHAR_TS_GENERATED_SRCS} )
135146source_group ("generated-yaml" FILES ${WCHAR_YAML_GENERATED_SRCS} )
136147
137148if (DJINNI_WITH_JNI)
@@ -212,80 +223,53 @@ endif()
212223
213224
214225if (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" )
289273
290274endif ()
291275
0 commit comments