v831开发日记-交叉编译之python-build解析

python部分

#!/usr/bin/env python
#-*- coding = utf-8 -*-

#
# @file from https://github.com/Neutree/c_cpp_project_framework
# @author neucrack
# @license Apache 2.0
#

#这段代码使用Python语言,导入了sys和os模块。它定义了一个名为sdk_env_name的变量,其值为"LIBMAIX_SDK_PATH"。
#接下来,代码使用os和sys模块获取SDK的绝对路径。
#它首先使用sys.path[0]获取Python文件的绝对路径,然后使用os.path.abspath将其转换为SDK的绝对路径。
#具体地,它通过sys.path[0]获取Python文件所在的目录,然后使用os.path.abspath计算出SDK所在的目录。
#../../表示在目录结构中向上回溯两级。

import sys, os

sdk_env_name = "LIBMAIX_SDK_PATH"

# get SDK absolute path
sdk_path = os.path.abspath(sys.path[0]+"/../../")
###########################
try:
    sdk_path = os.environ[sdk_env_name]
except Exception:
    pass
print("-- SDK_PATH:{}".format(sdk_path))
#这段代码使用了Python语言,用于从环境变量中获取SDK的路径,并在控制台打印SDK的路径信息。
#它首先尝试从环境变量中获取sdk_env_name变量所指定的环境变量的值,赋值给sdk_path变量。
#如果尝试失败,代码将不会抛出任何异常。在这貌似就是没有抛出任何异常
#然后,代码使用print语句将SDK的路径打印到控制台,以供开发者查看。
#将sdk_path变量的值格式化为字符串,然后作为" -- SDK_PATH:{}"参数传递给print函数。
#这将在控制台输出一个以-- SDK_PATH:开头的消息,后面跟随SDK的路径信息。
#总之,这段代码用于获取SDK的路径并在控制台打印SDK路径信息,以便开发人员记录或调试。
#############################
# tool chain staging dir
os.environ["STAGING_DIR"] = "build"
#这是一条关于在Python中设置环境变量的代码。
#这段代码将build作为环境变量STAGING_DIR的值设置到os.environ字典中,以便在后续代码中使用。
#具体地,代码使用os模块的environ变量来获取当前进程的所有环境变量,并在这个字典中添加一个名为STAGING_DIR的新变量,其值为build。
#这意味着,在代码的其他部分中,可以使用os.environ["STAGING_DIR"]获取build值,并将其用于后续操作。
###############################

# execute project script from SDK
project_file_path = sdk_path+"/tools/cmake/project.py"
#这段代码的作用是将变量sdk_path和相对路径/tools/cmake/project.py拼接起来,
#生成文件project.py在文件系统中的绝对路径,并将其赋值给变量project_file_path。
#具体地,变量sdk_path用于存储SDK所在的路径,而/tools/cmake/project.py是相对于SDK根目录的相对路径。
#代码中使用了加号+来将这两个字符串拼接起来,生成了表示project.py在文件系统中绝对路径的字符串,最后赋值给project_file_path变量。
#总之,这段代码是用于在Python中生成文件的绝对路径的示例代码。
###############################
with open(project_file_path) as f:
    exec(f.read())

结合python部分的知识

实际的作用在tools里面的cmake的project.py

posted @ 2023-06-10 20:19  悠闲的小莫  阅读(52)  评论(0编辑  收藏  举报