Я хочу заполнить переменную MY_VARIABLE в cmake со списком всех подкаталогов/foo, содержащих Makefile. Проблема в том, что все подкаталоги/foo имеют разную глубину, где находятся мои CMakeLists, и я не хочу никаких подкаталогов, не содержащих Makefile. Я также просто хочу, чтобы имя каталога.Создание переменной cmake, которая содержит только определенные подкаталоги
Например, если $ (build_dir)/A/B/Foo/содержал Makefile:
$ (build_dir)/A/B/Foo/было бы хорошо
$ (build_dir)/A/B/Foo/Makefile будет плохо
Лужение вокруг, я знаю, что могу сделать что-то подобное с оболочкой UNIX:
find $(BUILD_DIR) -name 'Makefile' | grep 'foo/' | sed 's/\/Makefile//'
Но я не знаю, как вызвать, что в CMake, или если есть другой способ. Я пробовал
execute_process(COMMAND find $(BUILD_DIR) -name 'Makefile' | grep 'foo/' | sed 's/\/Makefile\//'
OUTPUT_VARIABLE MY_VARIABLE
)
только для устранения ошибок синтаксического анализа.
Любая помощь или совет будут оценены.
вы можете сделать [строка манипуляции в CMake тоже] (https://cmake.org/cmake/help/v 3.0/command/string.html), не нужно вызывать grep, sed или ничего извне – brunocodutra