SylixOS嵌入式操作系统|论坛

 找回密码
 注册
搜索
查看: 6996|回复: 6
打印 上一主题 下一主题

cmake scripts for SylixOS

[复制链接]

3

主题

9

帖子

126

积分

版主

Rank: 7Rank: 7Rank: 7

积分
126
跳转到指定楼层
楼主
发表于 2015-6-28 08:43:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lyzh 于 2015-6-28 09:10 编辑

I'm writing cmake scripts for SylixOS, using the the scripts, building third party software will be easier.
Currently the script can compile libsylixos.a it-self, will come sooooooooooooooooooooooooooon.
If anybody is being interesting about this, ...cmake-gui config& generator Unix Makefiles


make target sylixos


building, color, percent.


done:


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

0

主题

6

帖子

105

积分

版主

Rank: 7Rank: 7Rank: 7

积分
105
沙发
发表于 2015-6-28 16:00:25 | 只看该作者
回复

使用道具 举报

3

主题

9

帖子

126

积分

版主

Rank: 7Rank: 7Rank: 7

积分
126
板凳
 楼主| 发表于 2015-6-28 16:59:48 | 只看该作者
本帖最后由 lyzh 于 2015-6-28 17:07 编辑

下面使用这些脚本编译SylixOS自带的example
在example目录下编写CMakeLists.txt文件如:

从这个CMakeLists.txt可以看到,除了内核模块不是标准cmake定义的外,其他函数都是标准的,比如add_executable()。其中最大的意义是在编译第三方使用cmake发布的源码时,可以使用cmake定义的标准方法进行配置和编译,而不需要主动添加SylixOS的头文件或者库


打开cmake-gui

Configure


选择toolchains-arm-none-eabi.cmake


Generate


已经生成Makefile成功


执行make,成功后:


已经顺利生成app, ko, lib。
下面是make VERBOSE=1的输出,可以看到编译链接所使用的指令。
[lyzh@lyzhdte3v3 sylixos-example]$ make VERBOSE=1
/usr/bin/cmake -H/home/lyzh/projects/sylixos/workspace/examples -B/tmp/sylixos-example --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /tmp/sylixos-example/CMakeFiles /tmp/sylixos-example/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/tmp/sylixos-example'
make -f CMakeFiles/hello_library.dir/build.make CMakeFiles/hello_library.dir/depend
make[2]: Entering directory '/tmp/sylixos-example'
cd /tmp/sylixos-example && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/lyzh/projects/sylixos/workspace/examples /home/lyzh/projects/sylixos/workspace/examples /tmp/sylixos-example /tmp/sylixos-example /tmp/sylixos-example/CMakeFiles/hello_library.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/tmp/sylixos-example'
make -f CMakeFiles/hello_library.dir/build.make CMakeFiles/hello_library.dir/build
make[2]: Entering directory '/tmp/sylixos-example'
/usr/bin/cmake -E cmake_progress_report /tmp/sylixos-example/CMakeFiles 1
[ 33%] Building C object CMakeFiles/hello_library.dir/hello_library/hello_library.c.obj
/home/lyzh/gcc-sylixos/bin/arm-none-eabi-gcc  -DSYLIXOS=1 -D__SYLIXOS_LITE -Wall -fmessage-length=0 -fsigned-char -fno-short-enums -I/home/lyzh/projects/sylixos/workspace/libsylixos/SylixOS -I/home/lyzh/projects/sylixos/workspace/libsylixos/SylixOS/include -I/home/lyzh/projects/sylixos/workspace/libsylixos/SylixOS/include/inet -I/home/lyzh/projects/sylixos/workspace/libsylixos/SylixOS/include/inet/ipv4 -I/home/lyzh/projects/sylixos/workspace/libsylixos/SylixOS/include/inet/ipv6    -mfloat-abi=softfp -mfpu=vfpv3 -mcpu=arm920t -o CMakeFiles/hello_library.dir/hello_library/hello_library.c.obj   -c /home/lyzh/projects/sylixos/workspace/examples/hello_library/hello_library.c
Linking C static library libhello_library.a
/usr/bin/cmake -P CMakeFiles/hello_library.dir/cmake_clean_target.cmake
/usr/bin/cmake -E cmake_link_script CMakeFiles/hello_library.dir/link.txt --verbose=1
/home/lyzh/gcc-sylixos/bin/arm-none-eabi-ar cq libhello_library.a  CMakeFiles/hello_library.dir/hello_library/hello_library.c.obj
/home/lyzh/gcc-sylixos/bin/arm-none-eabi-ranlib libhello_library.a
make[2]: Leaving directory '/tmp/sylixos-example'
/usr/bin/cmake -E cmake_progress_report /tmp/sylixos-example/CMakeFiles  1
[ 33%] Built target hello_library
make -f CMakeFiles/hello_module.dir/build.make CMakeFiles/hello_module.dir/depend
make[2]: Entering directory '/tmp/sylixos-example'
cd /tmp/sylixos-example && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/lyzh/projects/sylixos/workspace/examples /home/lyzh/projects/sylixos/workspace/examples /tmp/sylixos-example /tmp/sylixos-example /tmp/sylixos-example/CMakeFiles/hello_module.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/tmp/sylixos-example'
make -f CMakeFiles/hello_module.dir/build.make CMakeFiles/hello_module.dir/build
make[2]: Entering directory '/tmp/sylixos-example'
/usr/bin/cmake -E cmake_progress_report /tmp/sylixos-example/CMakeFiles 2
[ 66%] Building C object CMakeFiles/hello_module.dir/hello_module/hello_module.c.obj
/home/lyzh/gcc-sylixos/bin/arm-none-eabi-gcc  -DSYLIXOS=1 -D__SYLIXOS_LITE -Wall -fmessage-length=0 -fsigned-char -fno-short-enums -I/home/lyzh/projects/sylixos/workspace/libsylixos/SylixOS -I/home/lyzh/projects/sylixos/workspace/libsylixos/SylixOS/include -I/home/lyzh/projects/sylixos/workspace/libsylixos/SylixOS/include/inet -I/home/lyzh/projects/sylixos/workspace/libsylixos/SylixOS/include/inet/ipv4 -I/home/lyzh/projects/sylixos/workspace/libsylixos/SylixOS/include/inet/ipv6    -fPIC -mfloat-abi=softfp -mfpu=vfpv3 -mcpu=arm920t -o CMakeFiles/hello_module.dir/hello_module/hello_module.c.obj   -c /home/lyzh/projects/sylixos/workspace/examples/hello_module/hello_module.c
Linking C static library hello_module.ko
/usr/bin/cmake -P CMakeFiles/hello_module.dir/cmake_clean_target.cmake
/usr/bin/cmake -E cmake_link_script CMakeFiles/hello_module.dir/link.txt --verbose=1
/home/lyzh/gcc-sylixos/bin/arm-none-eabi-ar cq hello_module.ko  CMakeFiles/hello_module.dir/hello_module/hello_module.c.obj
/home/lyzh/gcc-sylixos/bin/arm-none-eabi-ranlib hello_module.ko
make[2]: Leaving directory '/tmp/sylixos-example'
/usr/bin/cmake -E cmake_progress_report /tmp/sylixos-example/CMakeFiles  2
[ 66%] Built target hello_module
make -f CMakeFiles/hello_world.dir/build.make CMakeFiles/hello_world.dir/depend
make[2]: Entering directory '/tmp/sylixos-example'
cd /tmp/sylixos-example && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/lyzh/projects/sylixos/workspace/examples /home/lyzh/projects/sylixos/workspace/examples /tmp/sylixos-example /tmp/sylixos-example /tmp/sylixos-example/CMakeFiles/hello_world.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/tmp/sylixos-example'
make -f CMakeFiles/hello_world.dir/build.make CMakeFiles/hello_world.dir/build
make[2]: Entering directory '/tmp/sylixos-example'
/usr/bin/cmake -E cmake_progress_report /tmp/sylixos-example/CMakeFiles 3
[100%] Building C object CMakeFiles/hello_world.dir/hello_world/hello_world.c.obj
/home/lyzh/gcc-sylixos/bin/arm-none-eabi-gcc  -DSYLIXOS=1 -D__SYLIXOS_LITE -Wall -fmessage-length=0 -fsigned-char -fno-short-enums -I/home/lyzh/projects/sylixos/workspace/libsylixos/SylixOS -I/home/lyzh/projects/sylixos/workspace/libsylixos/SylixOS/include -I/home/lyzh/projects/sylixos/workspace/libsylixos/SylixOS/include/inet -I/home/lyzh/projects/sylixos/workspace/libsylixos/SylixOS/include/inet/ipv4 -I/home/lyzh/projects/sylixos/workspace/libsylixos/SylixOS/include/inet/ipv6    -mfloat-abi=softfp -mfpu=vfpv3 -mcpu=arm920t -o CMakeFiles/hello_world.dir/hello_world/hello_world.c.obj   -c /home/lyzh/projects/sylixos/workspace/examples/hello_world/hello_world.c
Linking C executable hello_world
/usr/bin/cmake -E cmake_link_script CMakeFiles/hello_world.dir/link.txt --verbose=1
/home/lyzh/gcc-sylixos/bin/arm-none-eabi-gcc    -Wall -fmessage-length=0 -fsigned-char -fno-short-enums     CMakeFiles/hello_world.dir/hello_world/hello_world.c.obj -o hello_world -fPIC -shared -nostdlib -nostartfiles -L/tmp/ok  -lvpmpdm   -lm -lgcc
make[2]: Leaving directory '/tmp/sylixos-example'
/usr/bin/cmake -E cmake_progress_report /tmp/sylixos-example/CMakeFiles  3
[100%] Built target hello_world
make[1]: Leaving directory '/tmp/sylixos-example'
/usr/bin/cmake -E cmake_progress_start /tmp/sylixos-example/CMakeFiles 0




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

3

主题

9

帖子

126

积分

版主

Rank: 7Rank: 7Rank: 7

积分
126
地板
 楼主| 发表于 2015-6-28 17:39:17 | 只看该作者
本帖最后由 lyzh 于 2015-6-28 21:02 编辑

当前脚本

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

3

主题

9

帖子

126

积分

版主

Rank: 7Rank: 7Rank: 7

积分
126
5#
 楼主| 发表于 2015-6-28 17:40:26 | 只看该作者
原来还可以设置金钱啊?!
回复 支持 反对

使用道具 举报

4

主题

11

帖子

161

积分

版主

Rank: 7Rank: 7Rank: 7

积分
161
6#
发表于 2015-6-29 09:13:51 | 只看该作者
支持一下
回复

使用道具 举报

6

主题

15

帖子

151

积分

版主

Rank: 7Rank: 7Rank: 7

积分
151
7#
发表于 2015-6-29 14:06:03 | 只看该作者
好贴
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|Acoinfo Inc. All Rights Reserved. ( 京ICP备15059934号

GMT+8, 2024-4-20 02:18 , Processed in 0.031624 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表