forked from osmocom/wireshark
Resume work on CMake for Wireshark. Finally found and fixed a
few mistakes that I made earlier. Current status: dumpcap still doesn't build Next step: Add a ylwrap like workaround for flex misbehaviour. svn path=/trunk/; revision=28518
This commit is contained in:
parent
b4aeb97ed5
commit
18887f7b72
|
@ -25,6 +25,8 @@ project(wireshark C)
|
|||
|
||||
set(dumpcap_LIBS wiretap)
|
||||
|
||||
cmake_minimum_required(VERSION 2.6)
|
||||
|
||||
#Where to find local cmake scripts
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
|
||||
|
||||
|
@ -66,7 +68,7 @@ endif(ENABLE_EXTRA_GCC_CHECKS)
|
|||
if(CMAKE_COMPILER_IS_GNUCC)
|
||||
add_definitions(
|
||||
-DHAVE_CONFIG_H
|
||||
-D_U_=\"__attribute__\(\(unused\)\)\"
|
||||
-D_U_=__attribute__\(\(unused\)\)
|
||||
-Wall -Wpointer-arith -W
|
||||
${WIRESHARK_EXTRA_GCC_FLAGS}
|
||||
)
|
||||
|
@ -78,7 +80,7 @@ endif(CMAKE_COMPILER_IS_GNUCC)
|
|||
subdirs(wiretap)
|
||||
|
||||
#The minimum package list
|
||||
set(PACKAGELIST GLIB2 ZLIB PCAP ${PACKAGELIST})
|
||||
set(PACKAGELIST GLIB2 ZLIB PCAP LEX YACC ${PACKAGELIST})
|
||||
|
||||
#build the gui ?
|
||||
if(BUILD_WIRESHARK)
|
||||
|
@ -212,6 +214,13 @@ configure_file(${CMAKE_SOURCE_DIR}/cmakeconfig.h.in ${CMAKE_BINARY_DIR}/config.h
|
|||
|
||||
link_directories(wiretap)
|
||||
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT ${CMAKE_BINARY_DIR}/svnversion.h
|
||||
COMMAND perl ${CMAKE_SOURCE_DIR}/make-version.pl
|
||||
ARGS
|
||||
${CMAKE_SOURCE_DIR}
|
||||
)
|
||||
SET_SOURCE_FILES_PROPERTIES(${CMAKE_BINARY_DIR}/svnversion.h GENERATED)
|
||||
|
||||
if(BUILD_DUMPCAP)
|
||||
|
||||
|
@ -220,19 +229,19 @@ if(BUILD_DUMPCAP)
|
|||
)
|
||||
|
||||
set(DUMPCAP_FILES
|
||||
capture_opts.c
|
||||
capture_loop.c
|
||||
capture-pcap-util.c
|
||||
capture_stop_conditions.c
|
||||
clopts_common.c
|
||||
conditions.c
|
||||
dumpcap.c
|
||||
pcapio.c
|
||||
ringbuffer.c
|
||||
sync_pipe_write.c
|
||||
tempfile.c
|
||||
version_info.c
|
||||
${DUMPCAP_PLATFORM_SRC}
|
||||
svnversion.h
|
||||
capture_opts.c
|
||||
capture-pcap-util.c
|
||||
capture_stop_conditions.c
|
||||
clopts_common.c
|
||||
conditions.c
|
||||
dumpcap.c
|
||||
pcapio.c
|
||||
ringbuffer.c
|
||||
sync_pipe_write.c
|
||||
tempfile.c
|
||||
version_info.c
|
||||
${DUMPCAP_PLATFORM_SRC}
|
||||
)
|
||||
|
||||
add_executable(dumpcap ${DUMPCAP_FILES})
|
||||
|
|
|
@ -5,8 +5,8 @@ INCLUDE(FindCygwin)
|
|||
|
||||
FIND_PROGRAM(LEX_EXECUTABLE
|
||||
NAMES
|
||||
lex
|
||||
flex
|
||||
lex
|
||||
PATH
|
||||
${CYGWIN_INSTALL_PATH}/bin
|
||||
/bin
|
||||
|
@ -18,38 +18,39 @@ MARK_AS_ADVANCED(
|
|||
LEX_EXECUTABLE
|
||||
)
|
||||
|
||||
---------
|
||||
# flex a .ll file
|
||||
# flex a .l file
|
||||
|
||||
# search flex
|
||||
MACRO(FIND_FLEX)
|
||||
IF(NOT FLEX_EXECUTABLE)
|
||||
FIND_PROGRAM(FLEX_EXECUTABLE flex)
|
||||
IF (NOT FLEX_EXECUTABLE)
|
||||
MACRO(FIND_LEX)
|
||||
IF(NOT LEX_EXECUTABLE)
|
||||
FIND_PROGRAM(LEX_EXECUTABLE flex)
|
||||
IF (NOT LEX_EXECUTABLE)
|
||||
MESSAGE(FATAL_ERROR "flex not found - aborting")
|
||||
ENDIF (NOT FLEX_EXECUTABLE)
|
||||
ENDIF(NOT FLEX_EXECUTABLE)
|
||||
ENDMACRO(FIND_FLEX)
|
||||
ENDIF (NOT LEX_EXECUTABLE)
|
||||
ENDIF(NOT LEX_EXECUTABLE)
|
||||
ENDMACRO(FIND_LEX)
|
||||
|
||||
MACRO(ADD_FLEX_FILES _sources )
|
||||
FIND_FLEX()
|
||||
MACRO(ADD_LEX_FILES _sources )
|
||||
FIND_LEX()
|
||||
|
||||
FOREACH (_current_FILE ${ARGN})
|
||||
GET_FILENAME_COMPONENT(_in ${_current_FILE} ABSOLUTE)
|
||||
GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE)
|
||||
|
||||
SET(_out ${CMAKE_CURRENT_BINARY_DIR}/flex_${_basename}.cpp)
|
||||
SET(_outc ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.c)
|
||||
SET(_outh ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h)
|
||||
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT ${_out}
|
||||
COMMAND ${FLEX_EXECUTABLE}
|
||||
OUTPUT ${_outc} ${_outh}
|
||||
COMMAND ${LEX_EXECUTABLE}
|
||||
ARGS
|
||||
-o${_out}
|
||||
-o${_outc}
|
||||
--header-file=${_outh}
|
||||
${_in}
|
||||
DEPENDS ${_in}
|
||||
)
|
||||
|
||||
SET(${_sources} ${${_sources}} ${_out} )
|
||||
SET(${_sources} ${${_sources}} ${_outc} ${_outh} )
|
||||
ENDFOREACH (_current_FILE)
|
||||
ENDMACRO(ADD_FLEX_FILES)
|
||||
ENDMACRO(ADD_LEX_FILES)
|
||||
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
|
||||
INCLUDE(FindCygwin)
|
||||
|
||||
FIND_PROGRAM(YACC
|
||||
FIND_PROGRAM(YACC_EXECUTABLE
|
||||
NAMES
|
||||
yacc
|
||||
bison
|
||||
yacc
|
||||
PATH
|
||||
${CYGWIN_INSTALL_PATH}/bin
|
||||
/bin
|
||||
|
@ -16,5 +16,41 @@ FIND_PROGRAM(YACC
|
|||
/sbin
|
||||
)
|
||||
MARK_AS_ADVANCED(
|
||||
YACC
|
||||
YACC_EXECUTABLE
|
||||
)
|
||||
|
||||
|
||||
# search flex
|
||||
MACRO(FIND_YACC)
|
||||
IF(NOT YACC_EXECUTABLE)
|
||||
FIND_PROGRAM(YACC_EXECUTABLE bison)
|
||||
IF (NOT YACC_EXECUTABLE)
|
||||
MESSAGE(FATAL_ERROR "flex not found - aborting")
|
||||
ENDIF (NOT YACC_EXECUTABLE)
|
||||
ENDIF(NOT YACC_EXECUTABLE)
|
||||
ENDMACRO(FIND_YACC)
|
||||
|
||||
MACRO(ADD_YACC_FILES _sources )
|
||||
FIND_YACC()
|
||||
|
||||
FOREACH (_current_FILE ${ARGN})
|
||||
GET_FILENAME_COMPONENT(_in ${_current_FILE} ABSOLUTE)
|
||||
GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE)
|
||||
|
||||
SET(_out ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.c)
|
||||
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT ${_out}
|
||||
COMMAND ${YACC_EXECUTABLE}
|
||||
ARGS
|
||||
-d
|
||||
-p ${_basename}
|
||||
-o${_out}
|
||||
${_in}
|
||||
DEPENDS ${_in}
|
||||
)
|
||||
|
||||
SET(${_sources} ${${_sources}} ${_out} )
|
||||
ENDFOREACH (_current_FILE)
|
||||
ENDMACRO(ADD_YACC_FILES)
|
||||
|
||||
|
|
|
@ -21,44 +21,64 @@
|
|||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
|
||||
ADD_LIBRARY(wiretap SHARED
|
||||
5views.c
|
||||
airopeek9.c
|
||||
ascend.c
|
||||
atm.c
|
||||
ber.c
|
||||
buffer.c
|
||||
catapult_dct2000.c
|
||||
cosine.c
|
||||
csids.c
|
||||
dbs-etherwatch.c
|
||||
erf.c
|
||||
etherpeek.c
|
||||
eyesdn.c
|
||||
file_access.c
|
||||
file_wrappers.c
|
||||
hcidump.c
|
||||
i4btrace.c
|
||||
iptrace.c
|
||||
iseries.c
|
||||
k12.c
|
||||
lanalyzer.c
|
||||
libpcap.c
|
||||
netmon.c
|
||||
nettl.c
|
||||
network_instruments.c
|
||||
netxray.c
|
||||
ngsniffer.c
|
||||
pppdump.c
|
||||
radcom.c
|
||||
snoop.c
|
||||
toshiba.c
|
||||
visual.c
|
||||
vms.c
|
||||
wtap.c
|
||||
|
||||
ascend-grammar.c
|
||||
ascend-scanner.c
|
||||
set(WIRETAP_FILES
|
||||
5views.c
|
||||
airopeek9.c
|
||||
ascend.c
|
||||
atm.c
|
||||
ber.c
|
||||
btsnoop.c
|
||||
buffer.c
|
||||
catapult_dct2000.c
|
||||
commview.c
|
||||
cosine.c
|
||||
csids.c
|
||||
daintree-sna.c
|
||||
dbs-etherwatch.c
|
||||
dct3trace.c
|
||||
erf.c
|
||||
etherpeek.c
|
||||
eyesdn.c
|
||||
file_access.c
|
||||
file_wrappers.c
|
||||
hcidump.c
|
||||
i4btrace.c
|
||||
iptrace.c
|
||||
iseries.c
|
||||
k12.c
|
||||
lanalyzer.c
|
||||
libpcap.c
|
||||
mpeg.c
|
||||
netmon.c
|
||||
netscreen.c
|
||||
nettl.c
|
||||
network_instruments.c
|
||||
netxray.c
|
||||
ngsniffer.c
|
||||
packetlogger.c
|
||||
pcap-common.c
|
||||
pcapng.c
|
||||
pppdump.c
|
||||
radcom.c
|
||||
snoop.c
|
||||
toshiba.c
|
||||
visual.c
|
||||
vms.c
|
||||
wtap.c
|
||||
)
|
||||
|
||||
ADD_LEX_FILES(WIRETAP_FILES
|
||||
ascend-scanner.l
|
||||
k12text.l
|
||||
)
|
||||
|
||||
ADD_YACC_FILES(WIRETAP_FILES
|
||||
ascend-grammar.y
|
||||
)
|
||||
|
||||
ADD_LIBRARY(wiretap SHARED
|
||||
${WIRETAP_FILES}
|
||||
)
|
||||
|
||||
INSTALL(TARGETS wiretap LIBRARY DESTINATION lib)
|
||||
|
|
Loading…
Reference in New Issue