Skip to content
2 changes: 2 additions & 0 deletions compat/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ if(WIN32 OR NOT HAVE_GETOPT_H)
else()
add_library(compat INTERFACE)
endif()

add_library(${PROJECT_NAME}::compat ALIAS compat)
11 changes: 9 additions & 2 deletions src/core/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,10 @@ if(NOT BUILD_SHARED_LIBS)
endif()

add_coverage(ddsc)
target_link_libraries(ddsc PRIVATE "$<BUILD_INTERFACE:ddsrt>")
target_link_libraries(ddsc PRIVATE
$<BUILD_INTERFACE:${PROJECT_NAME}::ddsrt>
$<$<NOT:$<STREQUAL:"${CMAKE_PROJECT_NAME}","CycloneDDS">>:${PROJECT_NAME}::cdr>
)
target_compile_definitions(
ddsc PUBLIC
$<BUILD_INTERFACE:$<TARGET_PROPERTY:ddsrt,INTERFACE_COMPILE_DEFINITIONS>>)
Expand All @@ -92,7 +95,11 @@ target_include_directories(
$<BUILD_INTERFACE:$<TARGET_PROPERTY:ddsrt,INTERFACE_INCLUDE_DIRECTORIES>>)

# SOVERSION should increase on incompatible ABI change
set_target_properties(ddsc PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR})
set_target_properties(ddsc PROPERTIES
VERSION ${PROJECT_VERSION}
SOVERSION ${PROJECT_VERSION_MAJOR}
POSITION_INDEPENDENT_CODE ON
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Won't this force position independent code always? I remember trying to set it to ON and running into a problem. I think it was the one mentioned here:

# By default we do shared libraries (we really prefer shared libraries because of the

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This property will set position indipendent code only for the DDSC target (and, in a future commit, also for CDR). I had to enable it due to relocation issues happening when building CycloneDDS as a static library on linux.
Specifically the errors were:

  • relocation R_X86_64_TPOFF32 for symbol tsd_thread_state from ddsi_thread.c. Fixed by adding POSITION_INDEPENDENT_CODE property on DDSC target
  • relocation R_X86_64_PC32 for symbol ddsrt_hh_empty from dds_cdrstream.c. Fixed by adding POSITION_INDEPENDENT_CODE property on CDR target

Seeing the shared nature of the project and the many relocation issues, I suggest to directly set CMAKE_POSITION_INDEPENDENT_CODE=ON whenever the library is built with BUILD_SHARED_LIBS=ON.
Further tests with this setting on Windows Environment are required though.

)

# define target property to indicate if Cyclone DDS is compiled with type library support
define_property(TARGET
Expand Down
20 changes: 14 additions & 6 deletions src/core/cdr/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,15 @@

if(NOT ${CMAKE_PROJECT_NAME} STREQUAL "CycloneDDS")
cmake_minimum_required(VERSION 3.16)
project(cdr VERSION 0.11.0 LANGUAGES C)
include(CheckLanguage)

# Check if the Compiler in use has C support, otherwise throw error
check_language(C)
if(CMAKE_C_COMPILER)
enable_language(C) # Enables C support
else()
message(FATAL_ERROR "Current compiler does not support C language")
endif()
endif()

set(srcs_cdr
Expand Down Expand Up @@ -40,10 +48,10 @@ else()
add_library(${PROJECT_NAME}::cdr ALIAS cdr)

target_sources(cdr PRIVATE ${srcs_cdr} ${hdrs_private_cdr} ${CMAKE_CURRENT_LIST_DIR}/../../ddsrt/src/bswap.c)
target_include_directories(cdr PUBLIC "${CMAKE_CURRENT_LIST_DIR}/include"
"${PROJECT_BINARY_DIR}/include"
"${CMAKE_CURRENT_LIST_DIR}/../../ddsrt/include"
"${CMAKE_CURRENT_LIST_DIR}/../ddsc/include")
target_include_directories(cdr PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>"
"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>"
"$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/../../ddsrt/include>"
"$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/../ddsc/include>")

configure_file(${CMAKE_CURRENT_LIST_DIR}/../../ddsrt/include/dds/config.h.in include/dds/config.h)
configure_file(${CMAKE_CURRENT_LIST_DIR}/../../ddsrt/include/dds/features.h.in include/dds/features.h)
Expand All @@ -62,7 +70,7 @@ else()

install(
DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/include/"
"${PROJECT_BINARY_DIR}/include/"
"${CMAKE_CURRENT_BINARY_DIR}/include/"
"${CMAKE_CURRENT_LIST_DIR}/../../ddsrt/include/"
"${CMAKE_CURRENT_LIST_DIR}/../ddsc/include/"
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
Expand Down
5 changes: 4 additions & 1 deletion src/core/xtests/symbol_export/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,10 @@

add_executable(symbol_export_test symbol_export.c)

target_link_libraries(symbol_export_test PRIVATE ddsc)
target_link_libraries(symbol_export_test PRIVATE
${PROJECT_NAME}::ddsc
$<$<NOT:$<STREQUAL:"${CMAKE_PROJECT_NAME}","CycloneDDS">>:${PROJECT_NAME}::cdr>
)
target_include_directories(symbol_export_test PRIVATE
"$<BUILD_INTERFACE:$<TARGET_PROPERTY:ddsrt,INTERFACE_INCLUDE_DIRECTORIES>>"
"$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src/include/>"
Expand Down
12 changes: 12 additions & 0 deletions src/ddsrt/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ set(source_dir "${CMAKE_CURRENT_SOURCE_DIR}")
set(binary_dir "${CMAKE_CURRENT_BINARY_DIR}")

add_library(ddsrt INTERFACE)
add_library(${PROJECT_NAME}::ddsrt ALIAS ddsrt)
target_compile_definitions(ddsrt INTERFACE $<$<NOT:$<BOOL:${BUILD_SHARED_LIBS}>>:DDS_STATIC_DEFINE>)
target_include_directories(
ddsrt INTERFACE
"$<BUILD_INTERFACE:${source_dir}/include>"
Expand Down Expand Up @@ -280,6 +282,10 @@ else()
set(DDSRT_HAVE_DYNLIB TRUE)
set(DDSRT_HAVE_FILESYSTEM TRUE)

list(APPEND headers
"${source_dir}/include/dds/ddsrt/filesystem.h"
)

list(APPEND sources
"${source_dir}/src/heap/posix/heap.c")

Expand Down Expand Up @@ -364,13 +370,19 @@ else()
endif()
endif()

set(DDSRT_HAVE_DYNLIB ${DDSRT_HAVE_DYNLIB} PARENT_SCOPE)
set(DDSRT_HAVE_FILESYSTEM ${DDSRT_HAVE_FILESYSTEM} PARENT_SCOPE)
set(DDSRT_HAVE_NETSTAT ${DDSRT_HAVE_NETSTAT} PARENT_SCOPE)
set(DDSRT_HAVE_RUSAGE ${DDSRT_HAVE_RUSAGE} PARENT_SCOPE)

# Generate configuration file
set(DDSRT_WITH_LWIP ${WITH_LWIP})
set(DDSRT_WITH_FREERTOS ${WITH_FREERTOS})

foreach(feature TCP_TLS SECURITY LIFESPAN DEADLINE_MISSED NETWORK_PARTITIONS
TYPELIB TYPE_DISCOVERY TOPIC_DISCOVERY QOS_PROVIDER)
set(DDS_HAS_${feature} ${ENABLE_${feature}})
set(DDS_HAS_${feature} ${DDS_HAS_${feature}} PARENT_SCOPE) # Tell to CDR, DDSC and DDSI the settings
endforeach()

if(BUILD_TESTING)
Expand Down
2 changes: 1 addition & 1 deletion src/ddsrt/include/dds/ddsrt/filesystem.h
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,6 @@ DDS_EXPORT const char* ddsrt_file_sep(void);
}
#endif

#endif // DDRT_HAVE_FILESYSTEM
#endif // DDSRT_HAVE_FILESYSTEM

#endif // DDSRT_FILESYSTEM_H
3 changes: 3 additions & 0 deletions src/ddsrt/src/cdtors.c
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,8 @@ ddsrt_cond_t *ddsrt_get_singleton_cond(void)
return &init_cond;
}

#ifndef DDS_STATIC_DEFINE /* DDS built statically */

#ifdef _WIN32
#include "dds/ddsrt/threads.h"
#include "dds/ddsrt/misc.h"
Expand Down Expand Up @@ -224,3 +226,4 @@ void __attribute__((destructor)) ddsrt_dtor(void)
}
#endif /* _WIN32 */

#endif /* DDS_STATIC_DEFINE */
6 changes: 3 additions & 3 deletions src/ddsrt/src/dynlib.c
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ dds_return_t ddsrt_dlclose (ddsrt_dynlib_t handle)
#if DDSRT_HAVE_DYNLIB
return ddsrt_platform_dlclose (handle);
#else
return DDS_RETCODE_UNSUPPORTED
return DDS_RETCODE_UNSUPPORTED;
#endif
}

Expand All @@ -104,7 +104,7 @@ dds_return_t ddsrt_dlsym (ddsrt_dynlib_t handle, const char *symbol, void **addr
#if DDSRT_HAVE_DYNLIB
return ddsrt_platform_dlsym (handle, symbol, address);
#else
return DDS_RETCODE_UNSUPPORTED
return DDS_RETCODE_UNSUPPORTED;
#endif
}

Expand All @@ -113,7 +113,7 @@ dds_return_t ddsrt_dlerror (char *buf, size_t buflen)
#if DDSRT_HAVE_DYNLIB
return ddsrt_platform_dlerror (buf, buflen);
#else
return DDS_RETCODE_UNSUPPORTED
return DDS_RETCODE_UNSUPPORTED;
#endif
}

Expand Down
13 changes: 10 additions & 3 deletions src/idl/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,8 @@ foreach(source ${templates})
endforeach()

add_library(idl SHARED ${headers} ${sources})
add_library(${PROJECT_NAME}::idl ALIAS idl)
target_compile_definitions(idl PRIVATE $<$<NOT:$<BOOL:${BUILD_SHARED_LIBS}>>:DDS_STATIC_DEFINE>)

if(MSVC)
# ignore warning 5286 and 5287 about enum type conversion
Expand All @@ -163,11 +165,16 @@ set_target_properties(
idl PROPERTIES
OUTPUT_NAME "cycloneddsidl"
VERSION ${PROJECT_VERSION}
SOVERSION ${PROJECT_VERSION_MAJOR})
SOVERSION ${PROJECT_VERSION_MAJOR}
POSITION_INDEPENDENT_CODE ON)

generate_export_header(idl EXPORT_FILE_NAME include/idl/export.h)

target_link_libraries(idl PUBLIC ddsc)
target_link_libraries(idl
PUBLIC
${PROJECT_NAME}::ddsc
$<$<NOT:$<STREQUAL:"${CMAKE_PROJECT_NAME}","CycloneDDS">>:${PROJECT_NAME}::cdr>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this mean that when building Cyclone as a subproject, the CDR library would be split off into a separate shared library and that each application using Cyclone from that build is linking against it directly?

I don't mind if that's the case, but I do want to make sure I understand.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes indeed, when CycloneDDS will be built as a subproject, CDR will become a shared library, or static depending by the value of BUILD_SHARED_LIBS, and each application linking to CycloneDDS::ddsc will also indirectly link to CDR being one of its dependencies

)

target_include_directories(
idl
Expand All @@ -194,7 +201,7 @@ install(

install(
TARGETS idl
EXPORT "${CMAKE_PROJECT_NAME}"
EXPORT "${PROJECT_NAME}"
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT lib
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT lib
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT lib)
Expand Down
4 changes: 4 additions & 0 deletions src/idl/src/string.c
Original file line number Diff line number Diff line change
Expand Up @@ -422,6 +422,8 @@ void WINAPI idl_cdtor(PVOID handle, DWORD reason, PVOID reserved)
_Pragma("GCC diagnostic pop")
#endif

#ifndef DDS_STATIC_DEFINE /* DDS built static */

#if defined __MINGW32__
PIMAGE_TLS_CALLBACK __crt_xl_tls_callback__ __attribute__ ((section(".CRT$XLZ"))) = idl_cdtor;
#elif defined _WIN64
Expand All @@ -438,6 +440,8 @@ _Pragma("GCC diagnostic pop")
#pragma data_seg()
#endif /* _WIN32 */

#endif /* DDS_STATIC_DEFINE */

static locale_t posix_locale(void)
{
return TlsGetValue(locale);
Expand Down
4 changes: 2 additions & 2 deletions src/psmx_iox/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ if(ENABLE_ICEORYX2)

target_link_libraries(psmx_iox2 PRIVATE iceoryx2-c::static-lib)
if(BUILD_SHARED_LIBS)
target_link_libraries(psmx_iox2 PRIVATE ddsc)
target_link_libraries(psmx_iox2 PRIVATE ${PROJECT_NAME}::ddsc)
endif()

if(MSVC)
Expand Down Expand Up @@ -83,7 +83,7 @@ if(ENABLE_ICEORYX)

target_link_libraries(psmx_iox PRIVATE iceoryx_hoofs::iceoryx_hoofs iceoryx_posh::iceoryx_posh)
if(BUILD_SHARED_LIBS)
target_link_libraries(psmx_iox PRIVATE ddsc)
target_link_libraries(psmx_iox PRIVATE ${PROJECT_NAME}::ddsc)
endif()

if(MSVC)
Expand Down
1 change: 1 addition & 0 deletions src/security/api/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ set(headers
prepend(headers "${CMAKE_CURRENT_LIST_DIR}/include/dds/security" ${headers})

add_library(security_api INTERFACE)
add_library(${PROJECT_NAME}::security_api ALIAS security_api)
target_sources(security_api INTERFACE ${headers})

target_include_directories(
Expand Down
5 changes: 3 additions & 2 deletions src/security/builtin_plugins/access_control/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,17 @@ else()
set_property(GLOBAL APPEND PROPERTY cdds_plugin_list dds_security_ac)
set_property(GLOBAL PROPERTY dds_security_ac_symbols init_access_control finalize_access_control)
endif()
add_library(${PROJECT_NAME}::dds_security_ac ALIAS dds_security_ac)

generate_export_header(
dds_security_ac
BASE_NAME SECURITY
EXPORT_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/include/dds/security/export.h"
)

target_link_libraries(dds_security_ac PRIVATE security_openssl)
target_link_libraries(dds_security_ac PRIVATE ${PROJECT_NAME}::security_openssl)
if(BUILD_SHARED_LIBS)
target_link_libraries(dds_security_ac PUBLIC ddsc)
target_link_libraries(dds_security_ac PUBLIC ${PROJECT_NAME}::ddsc)
endif()
target_link_libraries(dds_security_ac PUBLIC OpenSSL::SSL)
if(CMAKE_GENERATOR MATCHES "Visual Studio")
Expand Down
7 changes: 5 additions & 2 deletions src/security/builtin_plugins/authentication/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ if(BUILD_SHARED_LIBS)
add_library(dds_security_auth SHARED ${sources} ${private_headers})
else()
add_library(dds_security_auth OBJECT ${sources} ${private_headers})
set_target_properties(dds_security_auth PROPERTIES POSITION_INDEPENDENT_CODE ON)
set_property(GLOBAL APPEND PROPERTY cdds_plugin_list dds_security_auth)
set_property(GLOBAL PROPERTY dds_security_auth_symbols init_authentication finalize_authentication)
if(DEFINED ENV{LIB_FUZZING_ENGINE})
Expand All @@ -35,15 +36,17 @@ else()
endif()
endif()

add_library(${PROJECT_NAME}::dds_security_auth ALIAS dds_security_auth)

generate_export_header(
dds_security_auth
BASE_NAME SECURITY
EXPORT_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/include/dds/security/export.h"
)

target_link_libraries(dds_security_auth PRIVATE security_openssl)
target_link_libraries(dds_security_auth PRIVATE ${PROJECT_NAME}::security_openssl)
if(BUILD_SHARED_LIBS)
target_link_libraries(dds_security_auth PUBLIC ddsc)
target_link_libraries(dds_security_auth PUBLIC ${PROJECT_NAME}::ddsc)
endif()
target_link_libraries(dds_security_auth PUBLIC OpenSSL::SSL)
if(CMAKE_GENERATOR MATCHES "Visual Studio")
Expand Down
7 changes: 5 additions & 2 deletions src/security/builtin_plugins/cryptographic/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,19 +33,22 @@ if(BUILD_SHARED_LIBS)
add_library(dds_security_crypto SHARED ${sources} ${private_headers})
else()
add_library(dds_security_crypto OBJECT ${sources} ${private_headers})
set_target_properties(dds_security_crypto PROPERTIES POSITION_INDEPENDENT_CODE ON)
set_property(GLOBAL APPEND PROPERTY cdds_plugin_list dds_security_crypto)
set_property(GLOBAL PROPERTY dds_security_crypto_symbols init_crypto finalize_crypto)
endif()

add_library(${PROJECT_NAME}::dds_security_crypto ALIAS dds_security_crypto)

generate_export_header(
dds_security_crypto
BASE_NAME SECURITY
EXPORT_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/include/dds/security/export.h"
)

target_link_libraries(dds_security_crypto PRIVATE security_openssl)
target_link_libraries(dds_security_crypto PRIVATE ${PROJECT_NAME}::security_openssl)
if(BUILD_SHARED_LIBS)
target_link_libraries(dds_security_crypto PUBLIC ddsc)
target_link_libraries(dds_security_crypto PUBLIC ${PROJECT_NAME}::ddsc)
endif()
target_link_libraries(dds_security_crypto PUBLIC OpenSSL::SSL)
if(CMAKE_GENERATOR MATCHES "Visual Studio")
Expand Down
33 changes: 22 additions & 11 deletions src/security/core/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ function(add_wrapper libname linklibs)
"${CMAKE_CURRENT_LIST_DIR}/common/${libname}_wrapper.c"
"${CMAKE_CURRENT_LIST_DIR}/common/plugin_wrapper_msg_q.c")
add_library("dds_security_${libname}_wrapper")
add_library(${PROJECT_NAME}::dds_security_${libname}_wrapper ALIAS dds_security_${libname}_wrapper)
if(NOT BUILD_SHARED_LIBS)
set_property(GLOBAL APPEND PROPERTY cdds_plugin_list dds_security_${libname}_wrapper)
set_property(GLOBAL PROPERTY dds_security_${libname}_wrapper_symbols
Expand Down Expand Up @@ -79,7 +80,7 @@ function(add_wrapper libname linklibs)
target_link_libraries("dds_security_${libname}_wrapper" PRIVATE CycloneDDS::ucunit)
target_include_directories("dds_security_${libname}_wrapper" PRIVATE "${CUNIT_DIR}/include")
if(BUILD_SHARED_LIBS)
target_link_libraries("dds_security_${libname}_wrapper" PUBLIC ddsc ${linklibs})
target_link_libraries("dds_security_${libname}_wrapper" PUBLIC ${PROJECT_NAME}::ddsc ${linklibs})
endif()

target_sources("dds_security_${libname}_wrapper" PRIVATE ${srcs_wrapper})
Expand All @@ -102,9 +103,9 @@ set(security_core_test_sources
)

if(ENABLE_SSL AND OPENSSL_FOUND)
add_wrapper(access_control dds_security_ac)
add_wrapper(authentication dds_security_auth)
add_wrapper(cryptography dds_security_crypto)
add_wrapper(access_control ${PROJECT_NAME}::dds_security_ac)
add_wrapper(authentication ${PROJECT_NAME}::dds_security_auth)
add_wrapper(cryptography ${PROJECT_NAME}::dds_security_crypto)

FIND_PROGRAM(PKCS11_TOOL_CMD pkcs11-tool)
FIND_PROGRAM(SOFTHSM_UTIL_CMD softhsm2-util)
Expand Down Expand Up @@ -164,16 +165,26 @@ set(common_etc_dir "${CMAKE_CURRENT_SOURCE_DIR}/common/etc")
set(plugin_wrapper_lib_dir "${CMAKE_CURRENT_BINARY_DIR}")
configure_file("common/config_env.h.in" "common/config_env.h")

target_link_libraries(cunit_security_core PRIVATE ddsc security_api SecurityCoreTests)
target_link_libraries(cunit_security_core PRIVATE
${PROJECT_NAME}::ddsc
${PROJECT_NAME}::security_api
SecurityCoreTests
)
if(ENABLE_SSL AND OPENSSL_FOUND)
target_link_libraries(cunit_security_core PRIVATE dds_security_auth dds_security_ac dds_security_crypto dds_security_access_control_wrapper dds_security_authentication_wrapper dds_security_cryptography_wrapper)
target_link_libraries(cunit_security_core PRIVATE OpenSSL::SSL)
target_link_libraries(cunit_security_core PRIVATE security_openssl)
endif()
target_include_directories(cunit_security_core PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
target_link_libraries(cunit_security_core PRIVATE
${PROJECT_NAME}::dds_security_auth
${PROJECT_NAME}::dds_security_ac
${PROJECT_NAME}::dds_security_crypto
${PROJECT_NAME}::dds_security_access_control_wrapper
${PROJECT_NAME}::dds_security_authentication_wrapper
${PROJECT_NAME}::dds_security_cryptography_wrapper
)

if(NOT BUILD_SHARED_LIBS)
install(TARGETS dds_security_authentication_wrapper EXPORT "${PROJECT_NAME}")
install(TARGETS dds_security_cryptography_wrapper EXPORT "${PROJECT_NAME}")
install(TARGETS dds_security_access_control_wrapper EXPORT "${PROJECT_NAME}")

target_link_libraries(cunit_security_core PRIVATE OpenSSL::SSL)
target_link_libraries(cunit_security_core PRIVATE ${PROJECT_NAME}::security_openssl)
endif()
target_include_directories(cunit_security_core PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
2 changes: 2 additions & 0 deletions src/security/openssl/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,5 @@ else()
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT lib
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT lib)
endif()

add_library(${PROJECT_NAME}::security_openssl ALIAS security_openssl)
Loading
Loading