Android native создание двух библиотек cpp
Я потихоньку разбираюсь с Android NDK и CMake. Имею следующую структуру проектов:
native-cpp
CMakeLists.txt
native-lib.cpp
test.h
test.cpp
code
CMakeLists.txt
code.h
code.cpp
В Gradle - скрипте я указал путь до файла native-cpp/CMakeLists.txt:
externalNativeBuild {
cmake {
path "../../native-cpp/CMakeLists.txt"
version "3.10.2"
}
}
Содержимое native-lib/CMakeLists.txt:
cmake_minimum_required(VERSION 3.10.2)
project("android") # имя проекта
set(SOURCE_LIB native-lib.cpp test.cpp) # Установка переменной со списком исходников
add_library(native-lib SHARED ${SOURCE_LIB}) # создаем нашу либу
target_include_directories(native-lib PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/code) # для того, чтобы IDE могла найти заголовочные
link_directories(${CMAKE_CURRENT_SOURCE_DIR}/code) #линкуем эту либу к текущей
add_subdirectory(code) # добавляем в поиск еще одну либу
target_link_libraries( native-lib code ) # ссылка на вложенную либу
find_library( # Sets the name of the path variable.
log-lib
# Specifies the name of the NDK library that
# you want CMake to locate.
log )
target_link_libraries( # Specifies the target library.
native-lib
# Links the target library to the log library
# included in the NDK.
${log-lib} )
И содержимое native-lib/code/CMakeLists.txt:
cmake_minimum_required(VERSION 3.10.2)
set(SOURCE_LIB code.cpp) # Установка переменной со списком исходников
add_library(code STATIC ${SOURCE_LIB}) # Создание статической библиотеки
Я ожидаю на выходе две библиотеки: native-lib.so и code.so, чтобы потом их подключить в java - коде:
static {
System.loadLibrary("native-lib");
System.loadLibrary("code");
}
Однако, на выходе я имею только одну библиотеку:
Как правильно настроить CMake, чтобы генерировалось две библиотеки?
P.S.: я новичок как в NDK, так и в CMake, поэтому критикуйте, если я мыслю не в ту сторону.
