Files
yoga/java/CMakeLists.txt
Sidharth Guglani 20fe53b254 Add --version-script
Summary: Adds version script to exclude all exported symbols and export only JNI_onLoad

Reviewed By: Andrey-Mishanin

Differential Revision: D18076602

fbshipit-source-id: cac4ef9c800de6a3b2081a1f847fa918687896fe
2019-11-13 16:46:09 -08:00

41 lines
965 B
CMake

# Copyright (c) Facebook, Inc. and its affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
cmake_minimum_required(VERSION 3.4.1)
set(CMAKE_VERBOSE_MAKEFILE on)
# configure import libs
set(yogacore_DIR ${CMAKE_SOURCE_DIR}/..)
set(build_DIR ${CMAKE_SOURCE_DIR}/build)
set(yogacore_build_DIR ${build_DIR}/yogacore/${ANDROID_ABI})
file(MAKE_DIRECTORY ${build_DIR})
add_subdirectory(${yogacore_DIR} ${yogacore_build_DIR})
add_compile_options(
-fno-omit-frame-pointer
-fexceptions
-fvisibility=hidden
-ffunction-sections
-fdata-sections
-Wall
-std=c++11)
file(GLOB jni_SRC
jni/*.cpp)
file(GLOB yogajni_version_script
yogajni.version)
add_library(yoga SHARED ${jni_SRC})
target_include_directories(yoga PRIVATE
${yogacore_DIR})
target_link_libraries(yoga -Wl,--gc-sections,--version-script=${yogajni_version_script} yogacore)