Hide all symbols that are not explicitly exported in release builds
This commit is contained in:
parent
fffcd3500d
commit
61f0bc880e
2 changed files with 6 additions and 2 deletions
|
@ -21,7 +21,7 @@ configure_file (
|
||||||
#
|
#
|
||||||
if (UNIX)
|
if (UNIX)
|
||||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wall -Wextra -Wno-unused-parameter -fprofile-arcs -ftest-coverage -O0 -pthread -DDEBUG=1")
|
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wall -Wextra -Wno-unused-parameter -fprofile-arcs -ftest-coverage -O0 -pthread -DDEBUG=1")
|
||||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Wall -Wno-unused-parameter -Os -pthread")
|
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Wall -Wno-unused-parameter -fvisibility=hidden -fvisibility-inlines-hidden -Os -pthread")
|
||||||
set(CMAKE_EXE_LINKER_FLAGS_DEBUG "-lgcov")
|
set(CMAKE_EXE_LINKER_FLAGS_DEBUG "-lgcov")
|
||||||
endif() # UNIX
|
endif() # UNIX
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,11 @@ extern "C" {
|
||||||
#if MSVC
|
#if MSVC
|
||||||
#define API __declspec(dllexport)
|
#define API __declspec(dllexport)
|
||||||
#else
|
#else
|
||||||
#define API
|
#if DEBUG
|
||||||
|
#define API __attribute__((visibility("visible")))
|
||||||
|
#else
|
||||||
|
#define API __attribute__((visibility("visible")))
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
Loading…
Reference in a new issue