假设-我有一个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
答案 0 :(得分:2)
您可以使用add_custom_command
来教CMake如何生成文件:
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)
您也可以使该库也依赖于A.hpp和B.hpp,但是您说generator.bat
仍然会重新生成它们,因此不需要...