mirror of
https://github.com/ggerganov/ggwave.git
synced 2026-04-18 03:47:29 +08:00
Javascript bindings (#14)
* Initial version ready - bindings are in `bindings/emscripten.cpp` - minimal Javascript example is in `examples/ggwave-js` * add npm package + add test-ggwave.js * js : rename export name to "ggwave_factory" * update to v0.1.5 * Update README.md * npm : add npm-publish target
This commit is contained in:
60
bindings/CMakeLists.txt
Normal file
60
bindings/CMakeLists.txt
Normal file
@@ -0,0 +1,60 @@
|
||||
if (EMSCRIPTEN)
|
||||
add_subdirectory(javascript)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/javascript/publish.log
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/javascript/ggwave.js
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/javascript/package.json
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/javascript
|
||||
COMMAND npm publish
|
||||
COMMAND touch publish.log
|
||||
COMMENT "Publishing npm module v${PROJECT_VERSION}"
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
add_custom_target(npm-publish
|
||||
DEPENDS javascript/publish.log
|
||||
)
|
||||
endif()
|
||||
|
||||
if (GGWAVE_SUPPORT_PYTHON)
|
||||
file(GLOB_RECURSE GGWAVE_SOURCES "../include/*" "../src/*")
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/python/ggwave.bycython.cpp
|
||||
OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/python/ggwave
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/python/Makefile
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/python/ggwave.pyx
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/python/cggwave.pxd
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/python/setup.py
|
||||
DEPENDS ${GGWAVE_SOURCES}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/python
|
||||
COMMAND make clean
|
||||
COMMAND make
|
||||
COMMENT "Compiling Python module"
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
add_custom_target(ggwave-py ALL
|
||||
DEPENDS python/ggwave.bycython.cpp
|
||||
DEPENDS python/ggwave
|
||||
)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/python/dist
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/python/Makefile
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/python/ggwave.pyx
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/python/cggwave.pxd
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/python/setup.py
|
||||
DEPENDS ${GGWAVE_SOURCES}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/python
|
||||
COMMAND make publish
|
||||
COMMENT "Publishing Python module v${PROJECT_VERSION}"
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
add_custom_target(pypi-publish
|
||||
DEPENDS python/dist
|
||||
)
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user