Как использовать команду Windows в CMake (CMakeLists.txt)? - PullRequest
0 голосов
/ 08 марта 2019

Поскольку CMake не предоставляет такую ​​команду, как 'cmake clean'.Таким образом, мы должны написать свой собственный способ пользовательской команды для clean.

У меня есть следующая команда ('cmake distclean') для платформы linux.

add_custom_command(
    COMMENT "distribution clean"
    COMMAND make
    ARGS -C ${CMAKE_CURRENT_BINARY_DIR} clean
    COMMAND find
    ARGS ${CMAKE_CURRENT_BINARY_DIR} -name "CMakeCache.txt" | xargs rm -rf
    COMMAND find
    ARGS ${CMAKE_CURRENT_BINARY_DIR} -name "CMakeFiles" | xargs rm -rf
    COMMAND find
    ARGS ${CMAKE_CURRENT_BINARY_DIR} -name "Makefile" | xargs rm -rf
    TARGET  distclean
)

То же самое, что я пыталсясделать на Windows, но не смог добиться успеха.

add_custom_command(
    COMMENT "distribution clean"
    COMMAND nmake
    ARGS -C ${CMAKE_CURRENT_BINARY_DIR} clean
    FOR /F %k in
    'COMMAND dir ARGS ${CMAKE_CURRENT_BINARY_DIR} /s /b "CMakeCache.txt"' DO rmdir /s /q %k
    FOR /F %k in
    'COMMAND dir ARGS ${CMAKE_CURRENT_BINARY_DIR} /s /b "CMakeFiles"' DO rmdir /s /q %k
    FOR /F %k in
    'COMMAND dir ARGS ${CMAKE_CURRENT_BINARY_DIR} /s /b "Makefile"' DO rmdir /s /q %k
    TARGET  distclean
)

Есть ли альтернативы, чтобы сделать?А как использовать команду Windows в CMake или как мы можем использовать в CMakeLists.txt, как в Linux?

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