cmake_minimum_required(VERSION 3.0) project(clash-bridge C) set(CMAKE_POSITION_INDEPENDENT_CODE on) set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3") set(GO_OUTPUT_BASE ${GO_OUTPUT}/${FLAVOR_NAME}) if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") set(GO_OUTPUT_BASE "${GO_OUTPUT_BASE}Debug") elseif ("${CMAKE_BUILD_TYPE}" STREQUAL "Release") set(GO_OUTPUT_BASE "${GO_OUTPUT_BASE}Release") elseif ("${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo") set(GO_OUTPUT_BASE "${GO_OUTPUT_BASE}Release") else () message(FATAL_ERROR "Unknown build type ${CMAKE_BUILD_TYPE}") endif () include_directories("${GO_OUTPUT_BASE}/${CMAKE_ANDROID_ARCH_ABI}") include_directories("${GO_SOURCE}") link_directories("${GO_OUTPUT_BASE}/${CMAKE_ANDROID_ARCH_ABI}") add_library(bridge SHARED main.c jni_helper.c bridge_helper.c) target_link_libraries(bridge log clash)