将nuttx构建脚本的文件夹复制修改为符号链接

背景:在板子上修改nuttx\boards\arm\{芯片}\{板子}\include\board.h文件,是不会同步到nuttx\{构建目录}\arch\board\board.h的,原因是nuttx的如下脚本所致,他这里调用的是copy_directory :

复制代码
function(nuttx_create_symlink old new)
  if(IS_DIRECTORY ${old} AND CMAKE_HOST_SYSTEM_NAME MATCHES
                             "MSYS|CYGWIN|Windows")
    execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory ${old} ${new})
  else()
    file(CREATE_LINK ${old} ${new} COPY_ON_ERROR SYMBOLIC)
  endif()
endfunction()

原因是因为windows下创建文件目录符号的软连接时需要管理员权限,所以nuttx开发者才用的复制。带来的后果就是只要修改一下board.h 就要手动复制一次 好麻烦,解决方案:

1.将CMAKE.exe设置为管理员权限.

2.修改脚本:

复制代码
function(nuttx_create_symlink old new)
  if(IS_DIRECTORY ${old} AND CMAKE_HOST_SYSTEM_NAME MATCHES
                             "MSYS|CYGWIN|Windows")    # For MSYS, Cygwin, or Windows, copy the directory instead of creating a symlink
    execute_process(
      COMMAND ${CMAKE_COMMAND} -E create_symlink "${old}" "${new}"
      RESULT_VARIABLE result
      OUTPUT_VARIABLE out
      ERROR_VARIABLE err
    )
    #execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory ${old} ${new})
  else()
    file(CREATE_LINK ${old} ${new} COPY_ON_ERROR SYMBOLIC)
  endif()
endfunction()

效果:

相关推荐
_Kayo_4 小时前
node.js 学习笔记3 HTTP
笔记·学习
星星火柴9368 小时前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
Cx330❀11 小时前
【数据结构初阶】--排序(五):计数排序,排序算法复杂度对比和稳定性分析
c语言·数据结构·经验分享·笔记·算法·排序算法
小幽余生不加糖11 小时前
电路方案分析(二十二)适用于音频应用的25-50W反激电源方案
人工智能·笔记·学习·音视频
..过云雨12 小时前
01.【数据结构-C语言】数据结构概念&算法效率(时间复杂度和空间复杂度)
c语言·数据结构·笔记·学习
岑梓铭13 小时前
考研408《计算机组成原理》复习笔记,第五章(3)——CPU的【数据通路】
笔记·考研·408·计算机组成原理·计组
Blossom.11819 小时前
把 AI 推理塞进「 8 位 MCU 」——0.5 KB RAM 跑通关键词唤醒的魔幻之旅
人工智能·笔记·单片机·嵌入式硬件·深度学习·机器学习·搜索引擎
草莓熊Lotso20 小时前
《吃透 C++ 类和对象(中):const 成员函数与取地址运算符重载解析》
c语言·开发语言·c++·笔记·其他
玖別ԅ(¯﹃¯ԅ)21 小时前
PID学习笔记6-倒立摆的实现
笔记·stm32·单片机
想学全栈的菜鸟阿董1 天前
Django5个人笔记
笔记