project(aviation) cmake_minimum_required(VERSION 3.9.0) set(PACKAGE_NAME aviation) set(CMAKE_VERBOSE_MAKEFILE ON) set(CMAKE_CXX_STANDARD 20) set(CMAKE_C_STANDARD 11) # Define library and add all sources # Note: cpp-adapter.cpp is C++ (Nitro requires it), PlaybackCoordinatorJNI.cpp # is compiled as C (it only uses C APIs). The C domain core files are pure C. add_library(${PACKAGE_NAME} SHARED src/main/cpp/cpp-adapter.cpp src/main/cpp/PlaybackCoordinatorJNI.c # Pure C domain core ../cpp/core/aviation_event_bus.c ../cpp/core/aviation_state_machine.c ../cpp/core/aviation_queue.c ../cpp/core/aviation_coordinator.c ) # Add Nitrogen specs :) include(${CMAKE_SOURCE_DIR}/../nitrogen/generated/android/aviation+autolinking.cmake) # Set up local includes include_directories("src/main/cpp" "../cpp" "../cpp/core") find_library(LOG_LIB log) # Link all libraries together target_link_libraries( ${PACKAGE_NAME} ${LOG_LIB} android # <-- Android core )