cmake - 如何在 CMAKEList 中执行外部批处理文件
问题描述
假设 - 我有一个 Generator.bat 文件,它将生成 .cpp / .hpp 文件
我需要写一个 CMakeList.txt
1.我有几个Java文件(A.java和B.Java)2.如果任何Java文件发生变化,那么我们需要执行Generator.bat并重新生成A.cpp和B.cpp和A。 hpp 和 B.hpp 文件
我需要从生成的 A.cpp 和 B.cpp 和 C.cpp (用户定义的)和 D.cpp (用户定义的)生成目标 DLL
我们需要生成目标 DLL A) 如果任何用户定义的 .cpp 文件说 D.cpp B) 如果任何 .java 文件发生变化。然后执行步骤 2 并重新生成 .DLL
解决方案
You can use add_custom_command
to teach CMake how to generate your files:
add_custom_command(OUTPUT A.cpp A.hpp B.cpp B.hpp
DEPENDS A.java B.java
COMMAND generator.bat)
add_library(target SHARED A.cpp B.cpp C.cpp D.cpp)
You could have the library depend on A.hpp and B.hpp as well, but you said generator.bat
regenerates them anyway, so that should not be needed...
推荐阅读
- r - 动态创建新变量,然后在 R 的循环中调用该变量
- reactjs - React Native 导航在第一次点击时返回,但第二次可以工作
- java - JPQL 查询异常 AST 节点:{vector}
- php - phpseclib SSH2 登录在命令行上工作,而不是通过服务
- python - 如何跳过对 DRF 序列化程序 FloatField 的验证
- sql - 如果记录等于来自不同表的列的任何记录,如何选择记录?
- oracle - 如何根据 Oracle 中的一列不同值从 select 语句中获取记录?
- python - 如果一行不存在,则在 Python 中相应地检查并赋予一个值
- r - R:从主题编号创建一个新变量
- javascript - 返回 JavaScript 函数的变量值