ωedit™库
目标
该项目的目的是为可以处理大量文件和多个视口的构建编辑器提供一个开源库。
用户文档
用户文档已发布到https://ctc-oss.*g*i*thub.io/omega-edit/。
要求
命令行工具
- C/C ++编译器(例如Clang,GCC,MingW或MSVC)
- cmake (https://cm*ake**.org/download/)
- Conan C/C ++软件包管理器(https://*cona*n.io?*??
- 用于版本控制的GIT (https://git-*sc**m.com)
- 制作或忍者以运行构建脚本(https://www.***gnu.org/software/make/或https://ninja-build.org)
- NVM或NODEENV用于使用node.js的特定版本
- doxygen生成API文档(https://www.do**x*ygen.nl)
- GraphViz生成API文档(https://gr*aph**viz.org)
- sphinx生成用户文档(https://www.sp*hi*nx*-doc.org)
- sphinx RTD主题(https://gi*th*ub.*com/readthedocs/sphinx_rtd_theme)
- 呼吸重组文本和狮身人面像桥通往doxygen(https://githu*b.*co*m/michaeljones/breathe)
- 用于构建和运行GRPC服务器(https://www.sc*al*a*-lang.org)的scala/sbt/java
- 用于建筑,测试和包装节点工件的纱线(https://*yar*npkg.c*om)
IDE
尽管Visual Studio Code也效果很好,但ωedit™项目主要使用CLION构建。
构建核心库(C/C ++)
❗这些命令应在存储库的根级执行❗
安装柯南:
柯南是用于安装C/C ++依赖项的软件包管理器。它可以通过PIP安装。
pip install conan
配置构建:
根据您的链接需求,可以构建为静态(例如libomega_edit.a)或共享(例如libomega_edit.so)库来构建ωedit™。可以创建发布或调试版本。如果需要,也可以构建示例程序和文档。 Scala服务器需要共享库。
这是如何构建共享库的调试版本,而没有文档或示例程序。
cmake -S . -B _build -DCMAKE_BUILD_TYPE=Debug -DBUILD_DOCS=NO -DBUILD_EXAMPLES=NO -DBUILD_SHARED_LIBS=YES
构建配置的构建:
这将构建核心库,以及任何示例程序或文档(如果配置)。请注意,配置类型(调试或发行版)必须匹配配置构建时使用的配置类型(CMAKE_BUILD_TYPE)。
cmake --build _build --config Debug
运行测试套件:
这将运行核心库的测试套件。请注意,配置构建时使用的构建配置(调试或发行版)必须匹配配置类型(cmake_build_type)。
ctest --build-config Debug --test-dir _build/core --output-on-failure
安装核心库:
我们正在安装在存储库根的名称_install的目录中。这就是Scala服务器默认情况下查找共享库的地方,或者如果与默认位置不同,则可以使用OE_LIB_DIR环境变量。如果您只想使用库本身,则可以将其安装在您喜欢的任何地方(例如, /usr /local)。
cmake --install _build --config Debug --prefix _install
包装ωedit™GRPC服务器和节点客户端
❗这些命令应在构建/安装核心库后在存储库的根级上执行
构建,测试和包装服务器和客户端节点软件包。服务器软件包将包括上一步中内置的共享库,并包含在Java Virtual Machine(JVM)中运行的GRPC服务器。客户端软件包将包括节点客户端。
yarn install
yarn workspace @omega-edit/server package
yarn workspace @omega-edit/client test
节点软件包将位于.tgz文件中:
/packages/server/omega-edit-node-server-${VERSION}.tgz
/packages/client/omega-edit-node-client-${VERSION}.tgz
有关节点软件包的更多信息,请参见“软件包”文件夹。
释放二进制文件
通过Github CI工作流构建并发布了MacOS(Apple Silicon和X86),Windows(X86)和Linux(ARM和X86; GLIBC 2.31或更大要求)的二进制版本。
版本控制
ωedit™遵循语义版本控制。
⚡由ωedit™功率
- Visual Studio代码的Apache DaffoDil™扩展名 – 此Visual Studio代码扩展程序的数据编辑器组件由ωedit™供电。
