"Fossies" - the Fresh Open Source Software Archive

Member "irods-4.2.8/plugins/network/CMakeLists.txt" (14 May 2020, 2485 Bytes) of package /linux/misc/irods-4.2.8.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "CMakeLists.txt": 4.2.7_vs_4.2.8.

    1 find_package(OpenSSL REQUIRED)
    2 
    3 set(
    4   IRODS_NETWORK_PLUGIN_ssl_SOURCES
    5   ${CMAKE_SOURCE_DIR}/plugins/network/ssl/libssl.cpp
    6   )
    7 
    8 set(
    9   IRODS_NETWORK_PLUGIN_tcp_SOURCES
   10   ${CMAKE_SOURCE_DIR}/plugins/network/tcp/libtcp.cpp
   11   )
   12 
   13 set(
   14   IRODS_NETWORK_PLUGINS
   15   ssl
   16   tcp
   17   )
   18 
   19 set(
   20   IRODS_NETWORK_COMPILE_DEFINITIONS_client
   21   )
   22 
   23 set(
   24   IRODS_NETWORK_COMPILE_DEFINITIONS_server
   25   ENABLE_RE
   26   )
   27 
   28 set(
   29   IRODS_NETWORK_LINK_LIBRARIES_client
   30   irods_client
   31   )
   32 
   33 set(
   34   IRODS_NETWORK_LINK_LIBRARIES_server
   35   irods_server
   36   )
   37 
   38 set(
   39   IRODS_NETWORK_PLUGIN_TYPES
   40   client
   41   server
   42   )
   43 
   44 foreach(PLUGIN ${IRODS_NETWORK_PLUGINS})
   45   foreach(TYPE ${IRODS_NETWORK_PLUGIN_TYPES})
   46     set(IRODS_CURRENT_PLUGIN_TARGET ${PLUGIN}_${TYPE})
   47 
   48     add_library(
   49       ${IRODS_CURRENT_PLUGIN_TARGET}
   50       MODULE
   51       ${IRODS_NETWORK_PLUGIN_${PLUGIN}_SOURCES}
   52       )
   53 
   54     target_include_directories(
   55       ${IRODS_CURRENT_PLUGIN_TARGET}
   56       PRIVATE
   57       ${CMAKE_BINARY_DIR}/lib/core/include
   58       ${CMAKE_SOURCE_DIR}/lib/core/include
   59       ${CMAKE_SOURCE_DIR}/lib/api/include
   60       ${CMAKE_SOURCE_DIR}/server/drivers/include
   61       ${CMAKE_SOURCE_DIR}/server/core/include
   62       ${CMAKE_SOURCE_DIR}/server/icat/include
   63       ${CMAKE_SOURCE_DIR}/server/re/include
   64       ${IRODS_EXTERNALS_FULLPATH_ARCHIVE}/include
   65       ${IRODS_EXTERNALS_FULLPATH_BOOST}/include
   66       ${IRODS_EXTERNALS_FULLPATH_FMT}/include
   67       ${IRODS_EXTERNALS_FULLPATH_JANSSON}/include
   68       ${OPENSSL_INCLUDE_DIR}
   69       )
   70 
   71     target_link_libraries(
   72       ${IRODS_CURRENT_PLUGIN_TARGET}
   73       PRIVATE
   74       ${IRODS_NETWORK_LINK_LIBRARIES_${TYPE}}
   75       irods_plugin_dependencies
   76       irods_common
   77       ${IRODS_EXTERNALS_FULLPATH_ARCHIVE}/lib/libarchive.so
   78       ${IRODS_EXTERNALS_FULLPATH_BOOST}/lib/libboost_filesystem.so
   79       ${IRODS_EXTERNALS_FULLPATH_BOOST}/lib/libboost_system.so
   80       ${OPENSSL_CRYPTO_LIBRARY}
   81       ${OPENSSL_SSL_LIBRARY}
   82       )
   83 
   84     target_compile_definitions(${IRODS_CURRENT_PLUGIN_TARGET} PRIVATE ${IRODS_NETWORK_COMPILE_DEFINTIONS_${TYPE}} ${IRODS_COMPILE_DEFINITIONS} BOOST_SYSTEM_NO_DEPRECATED)
   85     target_compile_options(${IRODS_CURRENT_PLUGIN_TARGET} PRIVATE -Wno-write-strings)
   86     set_property(TARGET ${IRODS_CURRENT_PLUGIN_TARGET} PROPERTY CXX_STANDARD ${IRODS_CXX_STANDARD})
   87     install(
   88       TARGETS
   89       ${IRODS_CURRENT_PLUGIN_TARGET}
   90       LIBRARY
   91       DESTINATION ${IRODS_PLUGINS_DIRECTORY}/network
   92       COMPONENT ${IRODS_PACKAGE_COMPONENT_RUNTIME_NAME}
   93       )
   94   endforeach()
   95 endforeach()