Skip to content

Commit

Permalink
darwin linker apparently unrelated to lld and gnu ld
Browse files Browse the repository at this point in the history
  • Loading branch information
ezra-varady committed Nov 9, 2023
1 parent 2f8711c commit 8ba2121
Showing 1 changed file with 15 additions and 12 deletions.
27 changes: 15 additions & 12 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -99,13 +99,15 @@ target_include_directories(
PUBLIC ${CMAKE_SOURCE_DIR}/src
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})

set(_link_flags "${PostgreSQL_SHARED_LINK_OPTIONS} -Wl,--version-script=${CMAKE_BINARY_DIR}/hide_symbols.version")
set(_link_flags "${PostgreSQL_SHARED_LINK_OPTIONS}")
foreach(_dir ${PostgreSQL_SERVER_LIBRARY_DIRS})
set(_link_flags "${_link_flags} -L${_dir}")
endforeach()

if(APPLE)
set(_link_flags "${_link_flags} -bundle_loader ${PG_BINARY} -undefined dynamic_lookup")
else()
set(_link_flags "${_link_flags} -Wl,--version-script=${CMAKE_BINARY_DIR}/hide_symbols.version")
endif()


Expand Down Expand Up @@ -236,17 +238,18 @@ add_custom_target(
)

# build machinery to suppress extraneous symbols in .so
add_custom_target(
symbol-suppresion
COMMAND ${CMAKE_SOURCE_DIR}/scripts/build_symbol_suppression.sh ${CMAKE_SOURCE_DIR}/src ${CMAKE_BINARY_DIR}/hide_symbols.version
)
add_dependencies(lantern symbol-suppresion)
set_property(
TARGET lantern
APPEND
PROPERTY ADDITIONAL_CLEAN_FILES hide_symbols.version
)

if(NOT APPLE)
add_custom_target(
symbol-suppresion
COMMAND ${CMAKE_SOURCE_DIR}/scripts/build_symbol_suppression.sh ${CMAKE_SOURCE_DIR}/src ${CMAKE_BINARY_DIR}/hide_symbols.version
)
add_dependencies(lantern symbol-suppresion)
set_property(
TARGET lantern
APPEND
PROPERTY ADDITIONAL_CLEAN_FILES hide_symbols.version
)
endif()

# DEVELOPMENT
find_program(CLANG_FORMAT NAMES clang-format)
Expand Down

0 comments on commit 8ba2121

Please sign in to comment.