Как выполнить внешний командный файл в CMAKEList - PullRequest
0 голосов
/ 07 января 2019

Предположение - у меня есть файл Generator.bat, который будет генерировать файл .cpp / .hpp

Мне нужно написать CMakeList.txt

1.У меня есть несколько файлов Java, скажем (A.java и B.Java) 2. Если какой-либо из файлов Java изменился, нам нужно выполнить Generator.bat и заново сгенерировать файлы A.cpp и B.cpp и A.hpp и B.hpp

  1. Мне нужно сгенерировать целевую DLL из сгенерированных A.cpp и B.cpp и C.cpp (которые определены пользователем) и D.cpp (которые определены пользователем)

  2. Нам нужно сгенерировать целевую DLL А) Если какой-либо из определенных пользователем файлов .cpp скажет D.cpp Б) если какой-либо из файлов .java изменится. Затем выполните шаг 2 и восстановите файл .DLL

1 Ответ

0 голосов
/ 07 января 2019

Вы можете использовать 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 регенерирует их в любом случае, так что в этом нет необходимости ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...