omega-edit v0.9.58
Goal
The goal of this project is to provide an open source library for building editors that can handle massive files, and multiple viewports.
User documentation
User documentation is published to https://ctc-oss.github.io/omega-edit/.
Requirements
IDE
The Ωedit project is built primarily using CLion. If using CLion everything should build seamlessly, though Visual Studio Code also works well.
Command line tools
- C/C++ compiler (such as clang, gcc, mingw, or MSVC)
- CMake (https://cmake.org/download/)
- conan C/C++ package manager
- make or ninja for running the build scripts
- nvm or nodeenv for using specific versions of node.js
- doxygen to generate API documentation (https://www.doxygen.nl)
- sphinx to generate user documentation (https://www.sphinx-doc.org)
- sphinx RTD theme (https://github.com/readthedocs/sphinx_rtd_theme)
- breathe ReStructuredText and Sphinx bridge to Doxygen (https://github.com/michaeljones/breathe)
- scala/sbt/java
Build the core library (C/C++)
:exclamation: These commands should be executed at the root level of the repository :exclamation:
Install conan:
pip install conanConfigure a debug build:
Depending on your linking needs, Ωedit can be built as either as a static (e.g., libomega_edit.a) or shared (e.g., libomega_edit.so) library.
Static:
cmake -S . -B cmake-build-debug -DCMAKE_BUILD_TYPE=DebugShared:
cmake -S . -B cmake-build-debug -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=YESBuild the configured build:
cmake --build cmake-build-debugRun the test suite:
cmake -S src/tests -B cmake-build-tests -DCMAKE_BUILD_TYPE=Debug
pushd cmake-build-tests && ctest -C Debug --output-on-failure && popdPackaging Ωedit
TypeScript Client
This package is normally uploaded to npmjs.com
:exclamation: Node needs to be installed but shouldn't matter what version you use. :exclamation:
Create local
.tgzfilecd src/rpc/client/ts yarn install # if not ran before yarn packageFile will be at
src/rpc/client/ts/omega-edit-v${VERSION}.tgz
Publish
.tgzfile to npmjs -- requires authyarn publish omega-edit-v${VERSION}.tgz
Scala API and Native
This publishes for Scala version 2.13 to GitHub packages.
- Requires the
GITHUB_TOKENenvironment variable to be set
sbt publishAllScala Reference Server
This packages the reference Scala server to a local zip folder
cd src/rpc/server/scala
sbt universal:packageBinZip file will be located at
src/rpc/server/scala/target/universal/omega-edit-grpc-server-${VERSION}.zipDevelopment
Currently, the repo holds bindings for both Scala and node.
Release Binaries
Binary releases for macOS (ARM and x86), Windows (x86), and Linux (ARM, and x86; glibc 2.31 or greater required) are built and published via GitHub CI workflows.
Versioning
Ωedit follows Semantic Versioning.
License
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago