在tutorial目录下,添加一个BUILD.gn文件 代码语言:GN AI代码解释 ## tutorial/BUILD.gn executable("tutorial") {sources = ["tutorial.cc",] } 修改simple_build下BUILD.gn文件,使其引用tutorial目录下tutorial目标。 代码语言:GN AI代码解释 ## simple_build/BUILD.gn group("tools") { //虚目标节点deps ...
最近在研究鸿蒙操作系统的开源项目OpenHarmony,该项目使用了GN+Ninja工具链进行配置,编译,于是开始研究GN如何使用。本文的所有信息均来自GN官网和本人个人体会。 GN快速入门 使用GN GN的主要功能是根据配置文件(.gn, BUILD.gn等)生成build.ninja文件。build.ninja类似于Makefile,不同的是由Ninja负责执行编译过程。获取GN...
build\build_scripts\build_common.sh→build\core\gn\BUILD.gn→build\ohos\images\BUILD.gn action_with_pydeps("${_platform}_${_image_name}_image") { script="//build/ohos/images/build_image.py" depfile="$target_gen_dir/$target_name.d" deps=["//build/ohos/packages:${_platform}_insta...
在/build/lite/components/子系统名.json中添加组件,如下: 3. 编写配置BUILD.gn 移植的iperf3代码目录下需要提供一个gn文件,指明需要编译的代码。此文件可以通过import组件模板函数。一方面,很多引用到的头文件需要逐个添加到系统BUILD.GN中去,import组件模板函数可以省去很多麻烦;另一方面,头文件有多个,最终还很难确...
├── BUILD.gn ├── hello_composer.cpp ├── hello_composer.h ├── layer_context.cpp ├── layer_context.h └── main.cpp 1. 2. 3. 4. 5. 6. 7. 复制 具体验证如下: 关闭render service service_control stop render_service ...
明白了模板的使用,阅读鸿蒙gn代码就不会有太大的障碍. 目标项 | Targets 目标是构建图中的一个节点。它通常表示将生成某种可执行文件或库文件。整个构建是由一个个的目标组成. 目标包含: action: 运行脚本以生成文件 executable: 生成可执行文件 group: 生成依赖关系组 ...
阅读bootanimation目录下BUILD.gn可以知道bootpic.zip和bootsound.wav等作为配置文件打包至开放板/system/etc/init目录下。 ## Install data/*.jpg to /system/etc/init/ {{{ ohos_prebuilt_etc("bootanimation_pics") { source = "data/bootpic.zip" ## bootpic.zip在data目录下 ...
sys.path.insert(0, os.path.join(topdir,'build/lite')) ⑴ parser= argparse.ArgumentParser(description='OHOS Build System'f'version {VERSION}') parser.add_argument('-v','--version', action='version', version=f'[OHOS INFO] hb version {VERSION}') ...
action("openssl_build_all_generated") { script = rebase_path("//third_party/openssl/run_command.py") args = [ rebase_path("//third_party/openssl/make_openssl_build_all_generated.sh"), rebase_path("//third_party/openssl"), rebase_path("${build_all_generated_path}"), openssl...
import("//build/apple/compile_entitlements.gni") import("//build/apple/compile_plist.gni") import("//build/apple/tweak_info_plist.gni") import("//build/compiled_action.gni") import("//build/config/apple/symbols.gni") import("//build/config/mac/mac_sdk.gni") import("//build...