Можно ли выполнить процесс внутри cmake, который влияет на собственную среду cmake?
Например, у меня есть скрипт, который обновляет PKG_CONFIG_PATH
, и его нужно запустить, чтобы pkg-config
впоследствии смог нормально найти мои пакеты. Если я просто напишу:
find_package(PkgConfig REQUIRED)
pkg_check_modules(FOO REQUIRED foo)
Это не удастся с
-- Checking for module 'foo'
-- No package 'foo' found
Мне нужно сначала запустить:
find_package(PkgConfig REQUIRED)
execute_process(COMMAND my_path_updating_script)
pkg_check_modules(FOO REQUIRED foo)
Но в то время как вне cmake это работает (pkg-config
впоследствии находит foo
), внутри cmake это запускает процесс, и pkg-config
продолжает давать сбой. Есть ли способ обновить локальную среду cmake, чтобы отразить изменения в этом скрипте? Или просто запустить pkg_check_modules()
в этой новой среде?