Пока add_custom_command
будет запускаться во время компиляции кода (после завершения CMake), execute_process
будет выполняться на этапе настройки CMake.
CMakeLists.txt
cmake_minimum_required(VERSION 3.0)
# Skip compiler check by enabling no languages.
project(TestProj NONE)
# Tell CMake to run python from the directory where this CMakeLists file exists.
execute_process(COMMAND python test.py
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
# If you have more than one script to run, use a
# separate execute_process command, to ensure sequential execution.
execute_process(COMMAND python test2.py
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
Кроме того, вы можете указать RESULT_VARIABLE
или OUTPUT_VARIABLE
с помощью команды execute_process для установки переменных CMakeна основе кодов возврата или стандартного вывода выполненного процесса;это может помочь повлиять на последующее поведение CMake.
Кроме того, если вы действительно хотите отключить начальную проверку компилятора CMake, вы можете отключить языки, указав NONE
в команде project
.