Вы должны остерегаться другого пути, например, запускать пользовательские команды или добавлять собственные цели в ваш проект CMake.Боюсь, вы путаете природу библиотек, исполняемых файлов и внешних команд в контексте CMake.
Я думаю, что должен быть способ выполнения сценариев Tcl с помощью CMake.
Возможно, вы захотите попробовать следующее: В CMakeLists.txt
вы определяете пользовательскую цель MyTarget
, которая вызывает исполняемый файл TCLSH
, если доступно:
CMAKE_MINIMUM_REQUIRED(VERSION 3.3)
PROJECT (HELLO)
find_program (TCLSH tclsh)
if (TCLSH)
add_custom_target(
MyTarget ALL
COMMAND TCLSH myScript.tcl
)
endif (TCLSH)
(1) find_program
и if/endif
сделают пользовательскую цель доступной только при условии, что найден исполняемый файл с именем tclsh
.
(2) myScript.tcl
- это сценарий Tcl в вашем проектеdirectory.
(3) Запуск cmake . && make
будет эффективно вызывать: tclsh myScript.tcl
, производя:
$cmake . && make
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/hello
This is a message written by Tcl scripts
Built target MyTarget
Это только для начала, вам придется прочитатьбольше о добавлении команд, целей или выполнении подпроцессов из CMake.