set ( CMAKE_POSITION_INDEPENDENT_CODE ON ) if ( BUILD_LIB_COMMON ) find_package ( Iconv REQUIRED ) add_library ( common STATIC common/blockio.cpp common/common.cpp common/strptime.cpp ) target_include_directories ( common PUBLIC common/include ) target_link_libraries ( common Iconv::Iconv ) endif ( BUILD_LIB_COMMON ) if ( BUILD_LIB_CONFFILES ) add_library ( conffiles STATIC conffiles/conffiles.cpp ) target_include_directories ( conffiles PUBLIC conffiles/include ) endif ( BUILD_LIB_CONFFILES ) if ( BUILD_LIB_CRYPTO ) add_library ( crypto STATIC crypto/ag_md5.c crypto/bfstream.cpp crypto/blowfish.c ) target_include_directories ( crypto PUBLIC crypto/include ) endif ( BUILD_LIB_CRYPTO ) if ( BUILD_LIB_DOTCONFPP ) add_library ( dotconfpp STATIC dotconfpp/dotconfpp.cpp dotconfpp/mempool.cpp ) target_include_directories ( dotconfpp PUBLIC dotconfpp/include ) endif ( BUILD_LIB_DOTCONFPP ) if ( BUILD_LIB_IA ) add_library ( ia STATIC ia/ia.cpp ) target_include_directories ( ia PUBLIC ia/include ) target_link_libraries ( ia crypto common ) endif ( BUILD_LIB_IA ) #if ( BUILD_LIB_IBPP ) # add_library ( ibpp STATIC ibpp/all_in_one.cpp ) # target_include_directories ( ibpp PUBLIC ibpp/include ) # target_compile_options ( ibpp PRIVATE -Wno-old-style-cast $<$:-Wno-useless-cast> ) #endif ( BUILD_LIB_IBPP ) if ( BUILD_LIB_LOGGER ) add_library ( logger STATIC logger/logger.cpp ) target_include_directories ( logger PUBLIC logger/include ) endif ( BUILD_LIB_LOGGER ) if ( BUILD_LIB_PINGER ) add_library ( pinger STATIC pinger/pinger.cpp ) target_include_directories ( pinger PUBLIC pinger/include ) target_link_libraries ( pinger common ) endif ( BUILD_LIB_PINGER ) if ( BUILD_LIB_SCRIPTEXECUTER ) add_library ( scriptexecuter STATIC scriptexecuter/scriptexecuter.c ) target_include_directories ( scriptexecuter PUBLIC scriptexecuter/include ) endif ( BUILD_LIB_SCRIPTEXECUTER ) if ( BUILD_LIB_SMUX ) file ( GLOB SMUX_C_FILES smux/*.c ) add_library ( smux STATIC ${SMUX_C_FILES} ) target_include_directories ( smux PUBLIC smux/include smux/include/stg ) target_compile_options ( smux PRIVATE -Wno-cpp ) endif ( BUILD_LIB_SMUX ) if ( BUILD_LIB_SRVCONF ) find_package ( EXPAT REQUIRED ) file ( GLOB PARSERS srvconf/parsers/*.cpp ) add_library ( srvconf STATIC srvconf/servconf.cpp srvconf/netunit.cpp ${PARSERS} ) target_include_directories ( srvconf PUBLIC srvconf/include ) target_link_libraries ( srvconf crypto common EXPAT::EXPAT ) endif ( BUILD_LIB_SRVCONF )