Spec-Zone.ru › CMake 3.9

Использование SWIG

Определяет следующие макросы для использования с SWIG:

SWIG_ADD_LIBRARY(<name>
                 [TYPE <SHARED|MODULE|STATIC|USE_BUILD_SHARED_LIBS>]
                 LANGUAGE <language>
                 SOURCES <file>...
                 )
  - Define swig module with given name and specified language
SWIG_LINK_LIBRARIES(name [ libraries ])
  - Link libraries to swig module

Свойства файлов исходного кода в файлах модуля могут быть установлены перед вызовом макроса SWIG_ADD_LIBRARY для указания специального поведения SWIG.

Свойство файла исходного кода CPLUSPLUS вызывает SWIG в режиме c++, например:

set_property(SOURCE mymod.i PROPERTY CPLUSPLUS ON)
swig_add_library(mymod LANGUAGE python SOURCES mymod.i)

Свойство файла исходного кода SWIG_FLAGS добавляет пользовательские флаги в исполняемый файл SWIG.

Свойство файла исходного кода SWIG_MODULE_NAME необходимо указать для указания фактического имени импорта модуля на целевом языке, если его нельзя автоматически сканировать из исходного кода или оно отличается от имени файла модуля:

set_property(SOURCE mymod.i PROPERTY SWIG_MODULE_NAME mymod_realname)

Чтобы получить имя целевой библиотеки модуля swig, используйте: ${SWIG_MODULE_${name}_REAL_NAME}.

Также некоторые переменные могут быть установлены для указания специального поведения SWIG.

CMAKE_SWIG_FLAGS можно использовать для добавления специальных флагов ко всем вызовам swig.

CMAKE_SWIG_OUTDIR позволяет указать место для записи файлов, специфичных для языка (опция swig -outdir).

SWIG_OUTFILE_DIR позволяет указать место для записи выходного файла (опция swig -o). Если не указано, используется CMAKE_SWIG_OUTDIR.

Именная переменная SWIG_MODULE_<name>_EXTRA_DEPS может быть использована для указания дополнительных зависимостей для сгенерированных модулей.

Если сгенерированный swig файл исходного кода нуждается в специальном флаге, вы можете использовать:

set_source_files_properties( ${swig_generated_file_fullname}
                             PROPERTIES COMPILE_FLAGS "-bla")

© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.9/module/UseSWIG.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API