CMake: как указать имя пользовательской библиотеки импорта (MSVC) - PullRequest
1 голос
/ 17 октября 2011

Я создаю общую библиотеку с именем, например, mylib80.dll (она имеет постфикс "80", потому что я хочу встроить информацию о версии в имя библиотеки.

Я использую set_target_properties со свойством _POSTFIX для достижения этот. По умолчанию CMake называет соответствующую библиотеку импорта как mylib80.lib. Но я хочу, чтобы в моей общей библиотеке была библиотека импорта mylib.lib (без версии, встроенной в его название).

Возможно ли это при все? Я пробовал IMPORT_SUFFIX, но, похоже, он не работает так, как я ожидаю.

Я использую MSVC, мне не нужно иметь это для GCC и других компиляторов.

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 16 ноября 2011

Используйте следующие свойства цели CMake для указания отдельных имен файлов * .lib и * .dll вместо использования свойства _POSTFIX:

http://cmake.org/cmake/help/cmake-2-8-docs.html#prop_tgt:ARCHIVE_OUTPUT_NAME http://cmake.org/cmake/help/cmake-2-8-docs.html#prop_tgt:LIBRARY_OUTPUT_NAME http://cmake.org/cmake/help/cmake-2-8-docs.html#prop_tgt:RUNTIME_OUTPUT_NAME

Свойство RUNTIME_OUTPUT_NAME соответствует имени файла dll, а одно из остальных (я всегда забываю, какое из них ...) соответствует имени файла lib.

Если библиотекауже правильно назван без _POSTFIX, затем просто переименуйте только файл dll, используя свойство RUNTIME_OUTPUT_NAME.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...