[python]递归遍历文件夹-makefile转Cmake
来源:互联网 发布:禁止win安装软件 编辑:程序博客网 时间:2024/05/21 10:11
众所周知,现在越来越多的项目使用cmake替代了makefile,cmake跨平台,快速的生成不同IDE工程文件,对于维护makefile的老项目想使用cmake,还是要处理一些问题的:
如,cmake要求把所有的cpp文件都要加入cmake中
cmake_minimum_required(VERSION 2.8)PROJECT(myproejct)SET(EXENAME "myproejct")SET(LINK_SRCS *****多个cpp/c文件*****)INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/./ ${PROJECT_SOURCE_DIR}/Util)ADD_EXECUTABLE(${EXENAME} ${LINK_SRCS})TARGET_LINK_LIBRARIES(${EXENAME} pthread mysqlclient crypto rt uuid z)
作者只听说对于处理文本Python是不错的脚本工具,今天就尝试了一下,真的很简答,你也可以使用此工具解决上面问题。
遍历cpp/c文件(使用下面脚本),生成文件,然后使用上述模板,就可以把老的makefile项目转为cmake项目了:
- 保持下面文件iterator.py
- 使用python运行
- 在当前文件夹找到files.txt文件,拷贝文件内容到上面的cmake模板中
import oss = os.sepdef iteratorDir(): rootDir = os.getcwd() resultFile = open(os.getcwd() + "\\files.txt", "w") fileCnt = 0 try: for rt, dirs, files in os.walk(rootDir): for f in files: if f.endswith(".cpp"): if(fileCnt > 0) : resultFile.write("\n") fullPath = os.path.join(rt, f) pos = fullPath.index(rootDir) + len(rootDir) subStr = fullPath[pos:] final = subStr.replace("\\", "/") tmp = "." + final resultFile.write(tmp) fileCnt = fileCnt + 1 finally: resultFile.write("") resultFile.close()if __name__ == '__main__': iteratorDir()
阅读全文
0 0
- [python]递归遍历文件夹-makefile转Cmake
- Python 递归,遍历文件夹
- python-遍历文件夹与递归遍历文件
- python递归遍历文件夹检查文件
- Python 递归,遍历文件夹有层次感
- Python 用栈模拟递归,遍历文件夹
- 使用递归遍历文件夹
- 递归法遍历文件夹
- VBS递归遍历文件夹
- 非递归遍历文件夹
- 非递归遍历文件夹
- 递归遍历文件(文件夹)
- java 递归遍历文件夹
- 非递归遍历文件夹
- 文件夹递归遍历
- php递归遍历文件夹
- 非递归遍历文件夹
- 递归遍历文件夹脚本
- poi导入100万大数据
- Servlet工作原理
- jvm 并发原理
- 【WPF】批量删除多行ListBox数据
- Android Debug与Release环境切换
- [python]递归遍历文件夹-makefile转Cmake
- 仿ofo首页眼睛跟随加速器移动效果
- Android软键盘的全面解析,让你不再怕控件被遮盖
- 笔试题strcpy写法
- 布萌小课堂:一文看懂区块链在数字资产的价值
- HDU 1495 非常可乐(广搜BFS) (M)
- 字节、字、bit、byte
- 数据库中内容字段 原样输出解决办法
- Erlang:[笔记一,构建工具rebar之编译]