Просто используйте QUIET
, как показано ниже:
find_package(PackageName QUIET)
Если файл конфигурации пакета не найден, CMake выдаст ошибку, описывающую проблему, если не указан аргумент QUIET.
blockquote>https://cmake.org/cmake/help/v3.8/command/find_package.html?highlight=i
Я не гуру Python, но я нашел этот вопрос интересным, таким образом, я погуглил вокруг. Это было первым хитом на "Python, встраивающем API" - он помогает?
Если атрибуты принадлежат глобальной области видимости модуля, то можно использовать "PyImport_AddModule" для получения дескриптора к объекту модуля. Например, если бы Вы хотели получить значение целого числа в основном модуле, названном "foobar", то Вы сделали бы следующее:
PyObject *m = PyImport_AddModule("__main__"); PyObject *v = PyObject_GetAttrString(m,"foobar"); int foobar = PyInt_AsLong(v); Py_DECREF(v);
Я рекомендую использовать pyrex
для создания дополнительного модуля, можно сохранить значения в в Python и cdef набор функций, которые могут быть вызваны от C для возвращения значений там.
Иначе много зависит от типа значений, которые Вы пытаетесь передать.
Вы готовы изменить API немного?
Можно заставить функцию C возвратить новое значение для глобального, и затем назвать его как это:
my_global = my_c_func(...)
При использовании Robin или API Python C непосредственно можно передать globals словарь как дополнительный параметр и изменить его