trafgen: remove pointer fiddling, improve code
[netsniff-ng-old.git] / src / trafgen / CMakeLists.txt
blob32d542461466a891d6cff54f83a3da73abdbf710
1 PROJECT(trafgen C)
3 FIND_PACKAGE(FLEX)
4 FIND_PACKAGE(BISON)
5 FIND_PACKAGE(LibCLI)
6 INCLUDE(Pod2Man)
8 SET(BUILD_STRING "generic")
10 IF(LIBCLI_FOUND AND FLEX_FOUND AND BISON_FOUND)
11         FLEX_TARGET(BPF_LEXER ../trafgen_lexer.l ${CMAKE_CURRENT_BINARY_DIR}/trafgen_lex.yy.c)
12         BISON_TARGET(BPF_PARSER ../trafgen_parser.y ${CMAKE_CURRENT_BINARY_DIR}/trafgen_parser.tab.c)
13         ADD_EXECUTABLE(${PROJECT_NAME}  ../xmalloc.c
14                                         ../xio.c
15                                         ../xsys.c
16                                         ../xstring.c
17                                         ../mtrand.c
18                                         ../ring_tx.c
19                                         ${FLEX_BPF_LEXER_OUTPUTS}
20                                         ${BISON_BPF_PARSER_OUTPUT_SOURCE}
21                                         ../trafgen_cli.c
22                                         ../trafgen.c)
23         ADD_DEFINITIONS(-DPROGNAME_STRING="${PROJECT_NAME}"
24                         -DVERSION_STRING="${VERSION}"
25                         -DBUILD_STRING="${BUILD_STRING}")
26         TARGET_LINK_LIBRARIES(trafgen ${LIBCLI_LIBRARY})
27         POD2MAN(${CMAKE_SOURCE_DIR}/trafgen.c trafgen 8)
28         INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${EXECUTABLE_INSTALL_PATH})
29 ELSE(LIBCLI_FOUND AND FLEX_FOUND AND BISON_FOUND)
30         MESSAGE("libcli-dev is missing on target. Skipping ${PROJECT_NAME} build.")
31 ENDIF(LIBCLI_FOUND AND FLEX_FOUND AND BISON_FOUND)