Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Mozi
rt-thread
提交
0c45bb6f
R
rt-thread
项目概览
Mozi
/
rt-thread
与 Fork 源项目一致
Fork自
RT-Thread / rt-thread
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
0c45bb6f
编写于
6月 18, 2019
作者:
B
Bernard Xiong
提交者:
GitHub
6月 18, 2019
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #2785 from SummerGGift/add_ide_dist
[tools] add scons --dist-ide function
上级
34059c40
1a32d47a
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
58 addition
and
11 deletion
+58
-11
tools/building.py
tools/building.py
+33
-0
tools/mkdist.py
tools/mkdist.py
+25
-11
未找到文件。
tools/building.py
浏览文件 @
0c45bb6f
...
...
@@ -161,6 +161,21 @@ def PrepareBuilding(env, root_directory, has_libcpu=False, remove_components = [
action
=
'store_true'
,
default
=
False
,
help
=
'make distribution and strip useless files'
)
AddOption
(
'--dist-ide'
,
dest
=
'make-dist-ide'
,
action
=
'store_true'
,
default
=
False
,
help
=
'make distribution for RT-Thread Studio IDE'
)
AddOption
(
'--project-path'
,
dest
=
'make-project-path'
,
type
=
'string'
,
default
=
False
,
help
=
'set dist-ide project output path'
)
AddOption
(
'--project-name'
,
dest
=
'make-project-name'
,
type
=
'string'
,
default
=
False
,
help
=
'set project name'
)
AddOption
(
'--cscope'
,
dest
=
'cscope'
,
action
=
'store_true'
,
...
...
@@ -865,6 +880,24 @@ def EndBuilding(target, program = None):
from
mkdist
import
MkDist_Strip
MkDist_Strip
(
program
,
BSP_ROOT
,
Rtt_Root
,
Env
)
need_exit
=
True
if
GetOption
(
'make-dist-ide'
)
and
program
!=
None
:
from
mkdist
import
MkDist
project_path
=
GetOption
(
'make-project-path'
)
project_name
=
GetOption
(
'make-project-name'
)
if
not
isinstance
(
project_path
,
str
)
or
len
(
project_path
)
==
0
:
print
(
"
\n
warning : --project-path=your_project_path parameter is required."
)
print
(
"
\n
stop!"
)
exit
(
0
)
if
not
isinstance
(
project_name
,
str
)
or
len
(
project_name
)
==
0
:
print
(
"
\n
warning : --project-name=your_project_name parameter is required."
)
print
(
"
\n
stop!"
)
exit
(
0
)
rtt_ide
=
{
'project_path'
:
project_path
,
'project_name'
:
project_name
}
MkDist
(
program
,
BSP_ROOT
,
Rtt_Root
,
Env
,
rtt_ide
)
need_exit
=
True
if
GetOption
(
'cscope'
):
from
cscope
import
CscopeDatabase
CscopeDatabase
(
Projects
)
...
...
tools/mkdist.py
浏览文件 @
0c45bb6f
...
...
@@ -141,15 +141,20 @@ def bsp_update_kconfig_library(dist_dir):
found
=
0
f
.
write
(
line
)
def
bs_update_ide_project
(
bsp_root
,
rtt_root
):
def
bs_update_ide_project
(
bsp_root
,
rtt_root
,
rttide
=
None
):
import
subprocess
# default update the projects which have template file
tgt_dict
=
{
'mdk4'
:(
'keil'
,
'armcc'
),
'mdk5'
:(
'keil'
,
'armcc'
),
'iar'
:(
'iar'
,
'iar'
),
'vs'
:(
'msvc'
,
'cl'
),
'vs2012'
:(
'msvc'
,
'cl'
),
'cdk'
:(
'gcc'
,
'gcc'
)}
if
rttide
==
None
:
tgt_dict
=
{
'mdk4'
:(
'keil'
,
'armcc'
),
'mdk5'
:(
'keil'
,
'armcc'
),
'iar'
:(
'iar'
,
'iar'
),
'vs'
:(
'msvc'
,
'cl'
),
'vs2012'
:(
'msvc'
,
'cl'
),
'cdk'
:(
'gcc'
,
'gcc'
)}
else
:
item
=
'eclipse --project-name='
+
rttide
[
'project_name'
]
tgt_dict
=
{
item
:(
'gcc'
,
'gcc'
)}
scons_env
=
os
.
environ
.
copy
()
scons_env
[
'RTT_ROOT'
]
=
rtt_root
...
...
@@ -302,11 +307,15 @@ def MkDist_Strip(program, BSP_ROOT, RTT_ROOT, Env):
print
(
'done!'
)
def
MkDist
(
program
,
BSP_ROOT
,
RTT_ROOT
,
Env
):
def
MkDist
(
program
,
BSP_ROOT
,
RTT_ROOT
,
Env
,
rttide
=
None
):
print
(
'make distribution....'
)
dist_name
=
os
.
path
.
basename
(
BSP_ROOT
)
dist_dir
=
os
.
path
.
join
(
BSP_ROOT
,
'dist'
,
dist_name
)
if
rttide
==
None
:
dist_dir
=
os
.
path
.
join
(
BSP_ROOT
,
'dist'
,
dist_name
)
else
:
dist_dir
=
rttide
[
'project_path'
]
target_path
=
os
.
path
.
join
(
dist_dir
,
'rt-thread'
)
...
...
@@ -366,11 +375,16 @@ def MkDist(program, BSP_ROOT, RTT_ROOT, Env):
# change RTT_ROOT in Kconfig
bsp_update_kconfig
(
dist_dir
)
bsp_update_kconfig_library
(
dist_dir
)
# update all project files
bs_update_ide_project
(
dist_dir
,
target_path
)
if
rttide
==
None
:
bs_update_ide_project
(
dist_dir
,
target_path
)
else
:
bs_update_ide_project
(
dist_dir
,
target_path
,
rttide
)
# make zip package
zip_dist
(
dist_dir
,
dist_name
)
if
rttide
==
None
:
zip_dist
(
dist_dir
,
dist_name
)
print
(
'done!'
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录