Fix linking to shared libraries on Windows

This commit is contained in:
Ahmed Yarub Hani Al Nuaimi
2021-09-07 03:44:24 -03:00
parent 1d5348f99e
commit 3917fce7cf
3 changed files with 11 additions and 7 deletions

View File

@@ -1,5 +1,4 @@
find_package(${pkgName} CONFIG REQUIRED COMPONENTS ${pkgName})
add_executable(list_pod main.c)
find_package(${pkgName})
target_link_libraries(list_pod PRIVATE ${pkgName})
target_link_libraries(list_pod PRIVATE ${pkgName}::${pkgName})

View File

@@ -6,6 +6,7 @@ cmake_policy(SET CMP0063 NEW)
set(CMAKE_C_VISIBILITY_PRESET default)
set(CMAKE_CXX_VISIBILITY_PRESET default)
set(CMAKE_VISIBILITY_INLINES_HIDDEN OFF)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
option(BUILD_SHARED_LIBS "Build using shared libraries" ON)
@@ -1546,9 +1547,13 @@ include(PreTarget.cmake OPTIONAL)
add_library(${pkgName} ${SRCS} ${HDRS})
# Link dependent libraries
if(NOT CMAKE_VERSION VERSION_LESS 3.4)
target_link_libraries(${pkgName} OpenSSL::SSL OpenSSL::Crypto)
target_link_libraries(${pkgName} PRIVATE OpenSSL::SSL OpenSSL::Crypto)
endif()
target_link_libraries(${pkgName} ${CURL_LIBRARIES} )
target_link_libraries(${pkgName} PUBLIC ${CURL_LIBRARIES} )
target_include_directories(
${pkgName} PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
$<INSTALL_INTERFACE:include>
)
include(PostTarget.cmake OPTIONAL)

View File

@@ -1,2 +1,2 @@
target_link_libraries(${pkgName} yaml websockets)
target_link_libraries(${pkgName} PRIVATE yaml websockets_shared)
set_target_properties(${pkgName} PROPERTIES LINKER_LANGUAGE C)