Я пытаюсь создать псевдоним OpenSSL::Crypto
для цели crypto
, которая уже существует. До сих пор в моем CMakeLists.txt
:
add_library(OpenSSL::Crypto STATIC IMPORTED)
target_link_libraries(OpenSSL::Crypto INTERFACE crypto)
...
add_executable(my_test ...)
target_link_libraries(my_test OpenSSL::Crypto)
Генерация работает нормально, но во время компиляции я получаю следующую ошибку:
CMakeFiles/my_test.dir/build.make:82: *** target pattern contains no '%'. Stop.
и build.make:82
:
my_test: OpenSSL::Crypto-NOTFOUND
Почему это не работает? Я ожидаю, что все необходимые целевые свойства будут транзитивно взяты из crypto
. Чего мне не хватает?
Примечания:
- Если я объявляю зависимость непосредственно от
crypto
(target_link_libraries(my_test crypto)
), все работает как положено. - Я не могу использовать библиотеку
ALIAS
, потому что они не распространяются в других проектах (в соответствии с моими зависимостями, использующими try_compile
). - Фон я пытаюсь использовать LibreSSL вместо OpenSSL, включив его в качестве подкаталога в мой проект и разрешив строить все другие зависимости от него.
Спасибо за ваши мысли.