# # Copyright(c) 2006 to 2021 ZettaScale Technology and others # # This program and the accompanying materials are made available under the # terms of the Eclipse Public License v. 2.0 which is available at # http://www.eclipse.org/legal/epl-2.0, or the Eclipse Distribution License # v. 1.0 which is available at # http://www.eclipse.org/org/documents/edl-v10.php. # # SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause # include(GenerateExportHeader) set(sources src/access_control_objects.c src/access_control_parser.c src/access_control_utils.c src/access_control.c) set(private_headers src/access_control_objects.h src/access_control_parser.h src/access_control_utils.h src/access_control.h ../include/ac_tokens.h) if(BUILD_SHARED_LIBS) add_library(dds_security_ac SHARED ${sources} ${private_headers}) else() add_library(dds_security_ac OBJECT ${sources} ${private_headers}) 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() 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) if(BUILD_SHARED_LIBS) target_link_libraries(dds_security_ac PUBLIC ddsc) endif() target_link_libraries(dds_security_ac PUBLIC OpenSSL::SSL) if(CMAKE_GENERATOR MATCHES "Visual Studio") set_target_properties(dds_security_ac PROPERTIES LINK_FLAGS "/ignore:4099") endif() add_coverage(dds_security_ac) target_include_directories(dds_security_ac PUBLIC "$>" "$>" "$>" "$>" "$" "$" ) install( TARGETS dds_security_ac EXPORT "${PROJECT_NAME}" RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT lib LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT lib ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT lib ) if (INSTALL_PDB) install(FILES $ DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT dev OPTIONAL ) endif()