123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- include_directories(
- "${CMAKE_CURRENT_BINARY_DIR}"
- ${PROJECT_SOURCE_DIR}/lib
- ${PROJECT_SOURCE_DIR}/src
- ${PROJECT_SOURCE_DIR}/src/output_modules
- )
- # ADD YOUR PROBE MODULE HERE
- SET(EXTRA_PROBE_MODULES
- )
- # ADD YOUR OUTPUT MODULE HERE
- SET(EXTRA_OUTPUT_MODULES
- )
- SET(OUTPUT_MODULE_SOURCES
- output_modules/module_csv.c
- output_modules/output_modules.c
- )
- # Handle optional output modules
- if (WITH_JSON)
- SET(OUTPUT_MODULE_SOURCES ${OUTPUT_MODULE_SOURCES} output_modules/module_json.c)
- endif()
- if (WITH_REDIS)
- SET(OUTPUT_MODULE_SOURCES ${OUTPUT_MODULE_SOURCES} output_modules/module_redis_packed.c output_modules/module_redis_csv.c)
- endif()
- if (WITH_MONGO)
- SET(OUTPUT_MODULE_SOURCES ${OUTPUT_MODULE_SOURCES} output_modules/module_mongodb.c)
- endif()
- SET(PROBE_MODULE_SOURCES
- probe_modules/module_icmp_echo.c
- probe_modules/module_icmp_echo_time.c
- probe_modules/module_tcp_synscan_proberesponse.c
- probe_modules/module_tcp_synscan.c
- probe_modules/module_udp.c
- probe_modules/module_udp_dns.c
- probe_modules/module_dns_mx.c
- probe_modules/packet.c
- probe_modules/probe_modules.c
- probe_modules/module_ntp.c
- probe_modules/module_upnp.c
- )
- SET(SOURCES
- aesrand.c
- cyclic.c
- expression.c
- fieldset.c
- filter.c
- get_gateway.c
- iterator.c
- monitor.c
- recv.c
- send.c
- shard.c
- socket.c
- state.c
- summary.c
- validate.c
- zmap.c
- zopt_compat.c
- "${CMAKE_CURRENT_BINARY_DIR}/zopt.h"
- "${CMAKE_CURRENT_BINARY_DIR}/lexer.c"
- "${CMAKE_CURRENT_BINARY_DIR}/parser.c"
- ${EXTRA_PROBE_MODULES}
- ${EXTRA_OUTPUT_MODULES}
- ${PROBE_MODULE_SOURCES}
- ${OUTPUT_MODULE_SOURCES}
- )
- SET(ZBLSOURCES
- zblacklist.c
- zbopt_compat.c
- "${CMAKE_CURRENT_BINARY_DIR}/zbopt.h"
- )
- SET(ZTEESOURCES
- ztee.c
- topt_compat.c
- "${CMAKE_CURRENT_BINARY_DIR}/topt.h"
- )
- # Handle various versions of socket
- if(WITH_PFRING)
- SET(SOURCES ${SOURCES} socket-pfring.c)
- elseif (APPLE OR BSD)
- SET(SOURCES ${SOURCES} socket-bsd.c)
- else()
- SET(SOURCES ${SOURCES} socket-linux.c)
- endif()
- # Handle various versions of recv
- if(WITH_PFRING)
- SET(SOURCES ${SOURCES} recv-pfring.c)
- else()
- SET(SOURCES ${SOURCES} recv-pcap.c)
- endif()
- add_custom_command(OUTPUT zopt.h
- COMMAND gengetopt -C --no-help --no-version --unamed-opts=SUBNETS -i "${CMAKE_CURRENT_SOURCE_DIR}/zopt.ggo" -F "${CMAKE_CURRENT_BINARY_DIR}/zopt"
- DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/zopt.ggo"
- )
- add_custom_command(OUTPUT topt.h
- COMMAND gengetopt -S --no-help --no-version --unamed-opts=FILE -i "${CMAKE_CURRENT_SOURCE_DIR}/topt.ggo" -F "${CMAKE_CURRENT_BINARY_DIR}/topt"
- DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/topt.ggo"
- )
- add_custom_command(OUTPUT zbopt.h
- COMMAND gengetopt -C --no-help --no-version -i "${CMAKE_CURRENT_SOURCE_DIR}/zbopt.ggo" -F "${CMAKE_CURRENT_BINARY_DIR}/zbopt"
- DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/zbopt.ggo"
- )
- add_custom_command(OUTPUT lexer.c
- COMMAND flex -o "${CMAKE_CURRENT_BINARY_DIR}/lexer.c" --header-file="${CMAKE_CURRENT_BINARY_DIR}/lexer.h" "${CMAKE_CURRENT_SOURCE_DIR}/lexer.l"
- DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/lexer.l"
- )
- add_custom_command(OUTPUT parser.c
- COMMAND byacc -d -o "${CMAKE_CURRENT_BINARY_DIR}/parser.c" "${CMAKE_CURRENT_SOURCE_DIR}/parser.y"
- DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/parser.y"
- )
- add_executable(zmap ${SOURCES})
- add_executable(zblacklist ${ZBLSOURCES})
- add_executable(ztee ${ZTEESOURCES})
- if (APPLE OR BSD)
- set(DNET_LIBRARIES "dnet")
- else()
- set(DNET_LIBRARIES "")
- endif()
- target_link_libraries(
- zmap
- zmaplib
- ${PFRING_LIBRARIES}
- pcap gmp m
- ${DNET_LIBRARIES}
- ${REDIS_LIBS}
- ${JSON_LIBRARIES}
- ${MONGO_LIBRARIES}
- )
- target_link_libraries(
- zblacklist
- zmaplib
- m
- )
- target_link_libraries(
- ztee
- zmaplib
- m
- )
- # Install binary
- install(
- TARGETS
- zmap
- zblacklist
- ztee
- RUNTIME DESTINATION sbin
- )
- # Install Manpages
- install(
- FILES
- zmap.1
- zblacklist.1
- ztee.1
- DESTINATION share/man/man1
- )
|