CMake не включает / вставляет связанную библиотеку - PullRequest
0 голосов
/ 02 июля 2019

У меня есть файл списка CMake, который собирает имеющуюся у меня библиотеку c ++, включая 5 сторонних библиотек c ++, которые также создаются с помощью cmake. Этот проект создает библиотеку Android .aar и платформу iOS.

Хотя андроид работает без нареканий, я нахожу проблему после проблемы с iOS. Мне удается создать файл .framework, но он НЕ включает сторонние библиотеки (которые создаются правильно), поэтому для возможности использования .framework мне в конечном итоге необходимо вручную добавить сторонние библиотеки в проект моего приложения ,

Как я могу сказать CMake, что библиотеки должны быть включены / встроены / поставлены с файлом .framework?

Что у меня сейчас есть:

...

# libpng
include_directories(${ROOT}/thirdparties/libpng)
include_directories(${CMAKE_CURRENT_BINARY_DIR}/thirdparties/libpng)
set(PNG_PNG_INCLUDE_DIR ${ROOT}/thirdparties/libpng)
set(PNG_LIBRARY png16_static)
set(PNG_SHARED OFF)
set(PNG_TESTS OFF CACHE BOOL "skip tests for libpng")
add_subdirectory(${ROOT}/thirdparties/libpng)


... (almost the same for all third party libraries)


if( IOS )
    add_library(myLibrary STATIC ${SOURCES} ${SOURCES_JNI} ${SOURCES_MYSQL} ${PUBLIC_HEADER} ${RESOURCES})
else()
    add_library(myLibrary SHARED ${SOURCES} ${SOURCES_JNI} ${SOURCES_MYSQL} ${PUBLIC_HEADER} ${RESOURCES})
endif()


target_link_libraries(myLibrary
        hpdfs
        png16_static
        ${mysqlcppconn}
        zlibstatic
        ${CRYPTO_LIBRARY}
        ${PTHREAD}
)

Заранее спасибо за помощь!

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