Merge pull request #515 from SpaceIm/fix-windows-install-dll

CMake: few fixes for windows shared
This commit is contained in:
Emiel Bruijntjes 2023-10-10 11:20:25 +02:00 committed by GitHub
commit 8fea64cdec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 15 additions and 18 deletions

View File

@ -84,8 +84,12 @@ if(AMQP-CPP_BUILD_SHARED)
# create shared lib # create shared lib
#add_library(${PROJECT_NAME} SHARED ${SRCS}) #add_library(${PROJECT_NAME} SHARED ${SRCS})
add_library(${PROJECT_NAME} SHARED ${src_MAIN} ${src_LINUX_TCP}) add_library(${PROJECT_NAME} SHARED ${src_MAIN} ${src_LINUX_TCP})
# set shared lib version set_target_properties(${PROJECT_NAME} PROPERTIES
set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION ${SO_VERSION}) # set shared lib version
SOVERSION ${SO_VERSION}
# export symbols for Visual Studio as a workaround
WINDOWS_EXPORT_ALL_SYMBOLS ON
)
else() else()
# create static lib # create static lib
#add_library(${PROJECT_NAME} STATIC ${SRCS}) #add_library(${PROJECT_NAME} STATIC ${SRCS})
@ -99,24 +103,17 @@ endif()
# install rules # install rules
# ------------------------------------------------------------------------------------------------------ # ------------------------------------------------------------------------------------------------------
if(AMQP-CPP_BUILD_SHARED) include(GNUInstallDirs)
# copy shared lib and its static counter part install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Config
install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Config ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION lib LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION lib RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
RUNTIME DESTINATION lib )
)
else()
# copy static lib
install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Config
ARCHIVE DESTINATION lib
)
endif()
# copy header files # copy header files
install(DIRECTORY include/amqpcpp/ DESTINATION include/amqpcpp install(DIRECTORY include/amqpcpp/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/amqpcpp
FILES_MATCHING PATTERN "*.h") FILES_MATCHING PATTERN "*.h")
install(FILES include/amqpcpp.h DESTINATION include) install(FILES include/amqpcpp.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
install(EXPORT ${PROJECT_NAME}Config DESTINATION cmake) install(EXPORT ${PROJECT_NAME}Config DESTINATION cmake)
export(TARGETS ${PROJECT_NAME} FILE ${PROJECT_NAME}Config.cmake) export(TARGETS ${PROJECT_NAME} FILE ${PROJECT_NAME}Config.cmake)
@ -125,7 +122,7 @@ set(DEST_DIR "${CMAKE_INSTALL_PREFIX}")
set(PRIVATE_LIBS "-llibamqpcc") set(PRIVATE_LIBS "-llibamqpcc")
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/amqpcpp.pc.in" configure_file("${CMAKE_CURRENT_SOURCE_DIR}/amqpcpp.pc.in"
"${CMAKE_CURRENT_BINARY_DIR}/amqpcpp.pc" @ONLY) "${CMAKE_CURRENT_BINARY_DIR}/amqpcpp.pc" @ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/amqpcpp.pc" DESTINATION lib/pkgconfig) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/amqpcpp.pc" DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
# submodule support # submodule support
# ------------------------------------------------------------------------------------------------------ # ------------------------------------------------------------------------------------------------------