diff --git a/CMakeLists.txt b/CMakeLists.txt index 10f7896..457686e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,10 +7,10 @@ project( set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) -add_compile_options(-fno-exceptions -fno-rtti) -add_link_options(-nodefaultlibs -lc) - -add_library(conflict_set ConflictSet.cpp ConflictSet.h) +add_library(conflict_set SHARED ConflictSet.cpp ConflictSet.h) +target_compile_options(conflict_set PRIVATE -fno-exceptions -fvisibility=hidden) +target_link_options(conflict_set PRIVATE -nodefaultlibs -lc -fvisibility=hidden) +add_custom_command(TARGET conflict_set POST_BUILD COMMAND ${CMAKE_STRIP} -x $) add_executable(conflict_set_test ConflictSet.cpp ConflictSet.h) target_compile_definitions(conflict_set_test PRIVATE ENABLE_TESTS) diff --git a/ConflictSet.h b/ConflictSet.h index 4f818ca..4ce5772 100644 --- a/ConflictSet.h +++ b/ConflictSet.h @@ -2,7 +2,7 @@ #include -struct ConflictSet { +struct __attribute__((__visibility__("default"))) ConflictSet { enum Result { /// The result of a check which does not intersect any conflicting writes Commit,