From 0b0ff5551fae8b2079749481cd2b54adbbb25bd9 Mon Sep 17 00:00:00 2001 From: Miku AuahDark Date: Sun, 1 Jan 2023 15:16:26 +0800 Subject: [PATCH] Hide symbol visibility in CMake and Android.mk. --- Android.mk | 4 ++-- CMakeLists.txt | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Android.mk b/Android.mk index 2a37721d4..b43fa6ebb 100644 --- a/Android.mk +++ b/Android.mk @@ -2,9 +2,9 @@ LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := liblove -LOCAL_CFLAGS := -g -DGL_GLEXT_PROTOTYPES -DAL_ALEXT_PROTOTYPES -LOCAL_CPPFLAGS := ${LOCAL_CFLAGS} +LOCAL_CFLAGS := -g -DGL_GLEXT_PROTOTYPES -DAL_ALEXT_PROTOTYPES -fvisibility=hidden +LOCAL_CPPFLAGS := -fvisibility-inlines-hidden # I don't think there's armeabi-v7a device without NEON instructions in 2018 LOCAL_ARM_NEON := true diff --git a/CMakeLists.txt b/CMakeLists.txt index 400e86869..c89eb61df 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -79,6 +79,10 @@ if(POLICY CMP0072) cmake_policy(SET CMP0072 NEW) endif() +if(POLICY CMP0063) + cmake_policy(SET CMP0063 NEW) +endif() + find_package(OpenGL) if(MEGA) @@ -1765,6 +1769,7 @@ if(MSVC) endif() add_library(${LOVE_LIB_NAME} SHARED ${LOVE_LIB_SRC} ${LOVE_RC}) +set_target_properties(${LOVE_LIB_NAME} PROPERTIES C_VISIBILITY_PRESET hidden CXX_VISIBILITY_PRESET hidden VISIBILITY_INLINES_HIDDEN ON) target_link_libraries(${LOVE_LIB_NAME} ${LOVE_LINK_LIBRARIES} ${LOVE_3P}) if(LOVE_EXTRA_DEPENDECIES) @@ -1781,6 +1786,7 @@ endif() # add_executable(${LOVE_EXE_NAME} WIN32 src/love.cpp ${LOVE_RC}) target_link_libraries(${LOVE_EXE_NAME} ${LOVE_LIB_NAME}) +set_target_properties(${LOVE_EXE_NAME} PROPERTIES C_VISIBILITY_PRESET hidden CXX_VISIBILITY_PRESET hidden VISIBILITY_INLINES_HIDDEN ON) if(MSVC) add_executable(${LOVE_CONSOLE_EXE_NAME} src/love.cpp ${LOVE_RC})