use -rdynamic for re-exporting symbols when using plugins
This commit is contained in:
@ -222,6 +222,10 @@ endif()
|
|||||||
add_executable(lmp ${MAIN_SOURCES})
|
add_executable(lmp ${MAIN_SOURCES})
|
||||||
target_link_libraries(lmp PRIVATE lammps)
|
target_link_libraries(lmp PRIVATE lammps)
|
||||||
set_target_properties(lmp PROPERTIES OUTPUT_NAME ${LAMMPS_BINARY})
|
set_target_properties(lmp PROPERTIES OUTPUT_NAME ${LAMMPS_BINARY})
|
||||||
|
# re-export all symbols for plugins
|
||||||
|
if(PKG_PLUGIN)
|
||||||
|
set_target_properties(lmp PROPERTIES LINK_FLAGS "-rdynamic")
|
||||||
|
endif()
|
||||||
install(TARGETS lmp EXPORT LAMMPS_Targets DESTINATION ${CMAKE_INSTALL_BINDIR})
|
install(TARGETS lmp EXPORT LAMMPS_Targets DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||||
|
|
||||||
option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF)
|
option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF)
|
||||||
|
|||||||
@ -105,15 +105,6 @@ add_library(lammps INTERFACE)
|
|||||||
target_include_directories(lammps INTERFACE ${LAMMPS_SOURCE_DIR})
|
target_include_directories(lammps INTERFACE ${LAMMPS_SOURCE_DIR})
|
||||||
if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING)
|
if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING)
|
||||||
target_link_libraries(lammps INTERFACE ${CMAKE_BINARY_DIR}/../liblammps.dll.a)
|
target_link_libraries(lammps INTERFACE ${CMAKE_BINARY_DIR}/../liblammps.dll.a)
|
||||||
else()
|
|
||||||
# make a best guess where the static lammps library could be
|
|
||||||
if(EXISTS ${CMAKE_BINARY_DIR}/../liblammps.a)
|
|
||||||
target_link_libraries(lammps INTERFACE ${CMAKE_BINARY_DIR}/../liblammps.a)
|
|
||||||
elseif(EXISTS ${LAMMPS_HEADER_DIR}/liblammps.a)
|
|
||||||
target_link_libraries(lammps INTERFACE ${LAMMPS_HEADER_DIR}/liblammps.a)
|
|
||||||
elseif(EXISTS ${LAMMPS_HEADER_DIR}/../build/liblammps.a)
|
|
||||||
target_link_libraries(lammps INTERFACE ${LAMMPS_HEADER_DIR}/../build/liblammps.a)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|||||||
@ -29,15 +29,6 @@ add_library(lammps INTERFACE)
|
|||||||
target_include_directories(lammps INTERFACE ${LAMMPS_HEADER_DIR})
|
target_include_directories(lammps INTERFACE ${LAMMPS_HEADER_DIR})
|
||||||
if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING)
|
if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING)
|
||||||
target_link_libraries(lammps INTERFACE ${CMAKE_BINARY_DIR}/../liblammps.dll.a)
|
target_link_libraries(lammps INTERFACE ${CMAKE_BINARY_DIR}/../liblammps.dll.a)
|
||||||
else()
|
|
||||||
# make a best guess where the static lammps library could be
|
|
||||||
if(EXISTS ${CMAKE_BINARY_DIR}/../liblammps.a)
|
|
||||||
target_link_libraries(lammps INTERFACE ${CMAKE_BINARY_DIR}/../liblammps.a)
|
|
||||||
elseif(EXISTS ${LAMMPS_SOURCE_DIR}/liblammps.a)
|
|
||||||
target_link_libraries(lammps INTERFACE ${LAMMPS_SOURCE_DIR}/liblammps.a)
|
|
||||||
elseif(EXISTS ${LAMMPS_SOURCE_DIR}/../build/liblammps.a)
|
|
||||||
target_link_libraries(lammps INTERFACE ${LAMMPS_SOURCE_DIR}/../build/liblammps.a)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|||||||
Reference in New Issue
Block a user