aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt34
-rw-r--r--capchild/CMakeLists.txt19
-rw-r--r--caputils/CMakeLists.txt17
-rw-r--r--cmake/modules/FindLEX.cmake5
-rw-r--r--cmake/modules/FindYACC.cmake5
-rw-r--r--cmake/modules/UseCheckAPI.cmake42
-rw-r--r--cmake/modules/UseLemon.cmake5
-rw-r--r--codecs/CMakeLists.txt9
-rw-r--r--epan/CMakeLists.txt17
-rw-r--r--epan/crypt/CMakeLists.txt9
-rw-r--r--epan/dfilter/CMakeLists.txt17
-rw-r--r--epan/dissectors/CMakeLists.txt23
-rw-r--r--epan/ftypes/CMakeLists.txt10
-rw-r--r--epan/wslua/CMakeLists.txt9
-rw-r--r--plugins/docsis/CMakeLists.txt11
-rw-r--r--plugins/ethercat/CMakeLists.txt11
-rw-r--r--plugins/gryphon/CMakeLists.txt11
-rw-r--r--plugins/irda/CMakeLists.txt11
-rw-r--r--plugins/m2m/CMakeLists.txt12
-rw-r--r--plugins/mate/CMakeLists.txt21
-rw-r--r--plugins/opcua/CMakeLists.txt12
-rw-r--r--plugins/profinet/CMakeLists.txt12
-rw-r--r--plugins/stats_tree/CMakeLists.txt11
-rw-r--r--plugins/unistim/CMakeLists.txt11
-rw-r--r--plugins/wimax/CMakeLists.txt12
-rw-r--r--plugins/wimaxasncp/CMakeLists.txt16
-rw-r--r--plugins/wimaxmacphy/CMakeLists.txt11
-rw-r--r--randpkt_core/CMakeLists.txt21
-rwxr-xr-xtools/checkAPIs.pl22
-rw-r--r--ui/CMakeLists.txt27
-rw-r--r--ui/gtk/CMakeLists.txt21
-rw-r--r--wiretap/CMakeLists.txt19
-rw-r--r--wsutil/CMakeLists.txt42
33 files changed, 474 insertions, 61 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7706376e4e..07c7c1cd51 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1017,6 +1017,15 @@ test_big_endian(WORDS_BIGENDIAN)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+# The top level checkAPIs target, add before subdirectory calls so it's avaiable to all
+add_custom_target(checkAPI)
+set_target_properties(checkAPI
+ PROPERTIES
+ FOLDER "Auxiliary"
+ EXCLUDE_FROM_ALL True
+ EXCLUDE_FROM_DEFAULT_BUILD True
+)
+
add_subdirectory( capchild )
add_subdirectory( caputils )
add_subdirectory( codecs )
@@ -2166,10 +2175,10 @@ if(BUILD_text2pcap)
${text2pcap_CLEAN_FILES}
${CMAKE_BINARY_DIR}/image/text2pcap.rc
)
- add_lex_files(text2pcap_FILES
+ add_lex_files(text2pcap_LEX_FILES text2pcap_GENERATED_FILES
text2pcap-scanner.l
)
- add_executable(text2pcap ${text2pcap_FILES})
+ add_executable(text2pcap ${text2pcap_FILES} ${text2pcap_GENERATED_FILES})
add_dependencies(text2pcap version)
set_extra_executable_properties(text2pcap "Executables")
target_link_libraries(text2pcap ${text2pcap_LIBS})
@@ -2380,7 +2389,7 @@ if(ENABLE_EXTCAP AND BUILD_sshdump AND LIBSSH_FOUND)
${LIBSSH_LIBRARIES}
)
if (WIN32)
- set(sshdump_LIBS wsutil ${sshdump_LIBS})
+ set(sshdump_LIBS wsutil ${sshdump_LIBS})
endif()
set(sshdump_FILES
extcap/sshdump.c
@@ -2406,7 +2415,7 @@ if(ENABLE_EXTCAP AND BUILD_ciscodump AND LIBSSH_FOUND)
${LIBSSH_LIBRARIES}
)
if (WIN32)
- set(ciscodump_LIBS wsutil ${ciscodump_LIBS})
+ set(ciscodump_LIBS wsutil ${ciscodump_LIBS})
endif()
set(ciscodump_FILES
extcap/ciscodump.c
@@ -2553,12 +2562,6 @@ install(
PATTERN "faq.py" EXCLUDE
)
-include( UseCheckAPI )
-CHECKAPI(
- ${TSHARK_TAP_SRC}
- ${WIRESHARK_SRC}
-)
-
set(CMAKE_INSTALL_MODULES_DIR ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME})
configure_file("${CMAKE_MODULE_PATH}/WiresharkConfig.cmake.in" "${CMAKE_BINARY_DIR}/WiresharkConfig.cmake" @ONLY)
configure_file("${CMAKE_MODULE_PATH}/WiresharkConfigVersion.cmake.in" "${CMAKE_BINARY_DIR}/WiresharkConfigVersion.cmake" @ONLY)
@@ -2660,6 +2663,17 @@ else ()
endif()
endif()
+include( UseCheckAPI )
+CHECKAPI(
+ NAME
+ main
+ SWITCHES
+ -build
+ SOURCES
+ ${WIRESHARK_SRC}
+ ${TSHARK_TAP_SRC}
+)
+
#
# Editor modelines - http://www.wireshark.org/tools/modelines.html
#
diff --git a/capchild/CMakeLists.txt b/capchild/CMakeLists.txt
index 64b6edeb70..1689d0e61e 100644
--- a/capchild/CMakeLists.txt
+++ b/capchild/CMakeLists.txt
@@ -1,4 +1,5 @@
# CMakeLists.txt
+
#
# Wireshark - Network traffic analyzer
# By Gerald Combs <gerald@wireshark.org>
@@ -46,3 +47,21 @@ add_library(capchild STATIC
set_target_properties(capchild PROPERTIES
LINK_FLAGS "${WS_LINK_FLAGS}"
FOLDER "Libs")
+
+include( UseCheckAPI )
+CHECKAPI(
+ NAME
+ capchild-base
+ SWITCHES
+ -g deprecated-gtk
+ SOURCES
+ ${CAPCHILD_SRC}
+)
+CHECKAPI(
+ NAME
+ capchild-todo
+ SWITCHES
+ -M -g deprecated-gtk-todo
+ SOURCES
+ ${CAPCHILD_SRC}
+)
diff --git a/caputils/CMakeLists.txt b/caputils/CMakeLists.txt
index 4f6a9ef130..21722c434e 100644
--- a/caputils/CMakeLists.txt
+++ b/caputils/CMakeLists.txt
@@ -68,3 +68,20 @@ add_library(caputils STATIC
set_target_properties(caputils PROPERTIES
LINK_FLAGS "${WS_LINK_FLAGS}"
FOLDER "Libs")
+
+CHECKAPI(
+ NAME
+ caputils-base
+ SWITCHES
+ -g deprecated-gtk
+ SOURCES
+ ${CAPUTILS_SRC}
+)
+CHECKAPI(
+ NAME
+ caputils-todo
+ SWITCHES
+ -M -g deprecated-gtk-todo
+ SOURCES
+ ${CAPUTILS_SRC}
+)
diff --git a/cmake/modules/FindLEX.cmake b/cmake/modules/FindLEX.cmake
index ec53b04acd..adeb75c07a 100644
--- a/cmake/modules/FindLEX.cmake
+++ b/cmake/modules/FindLEX.cmake
@@ -26,7 +26,7 @@ MARK_AS_ADVANCED(LEX_EXECUTABLE)
# flex a .l file
-MACRO(ADD_LEX_FILES _sources )
+MACRO(ADD_LEX_FILES _source _generated)
FOREACH (_current_FILE ${ARGN})
GET_FILENAME_COMPONENT(_in ${_current_FILE} ABSOLUTE)
GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE)
@@ -41,7 +41,8 @@ MACRO(ADD_LEX_FILES _sources )
${_in}
DEPENDS ${_in}
)
- SET(${_sources} ${${_sources}} ${_outc} )
+ LIST(APPEND ${_source} ${_in})
+ LIST(APPEND ${_generated} ${_outc})
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
ENDFOREACH (_current_FILE)
diff --git a/cmake/modules/FindYACC.cmake b/cmake/modules/FindYACC.cmake
index 672a780e7d..dca1c09fa8 100644
--- a/cmake/modules/FindYACC.cmake
+++ b/cmake/modules/FindYACC.cmake
@@ -24,7 +24,7 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(YACC DEFAULT_MSG YACC_EXECUTABLE)
MARK_AS_ADVANCED(YACC_EXECUTABLE)
-MACRO(ADD_YACC_FILES _sources )
+MACRO(ADD_YACC_FILES _source _generated)
FOREACH (_current_FILE ${ARGN})
GET_FILENAME_COMPONENT(_in ${_current_FILE} ABSOLUTE)
GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE)
@@ -40,7 +40,8 @@ MACRO(ADD_YACC_FILES _sources )
${_in}
DEPENDS ${_in}
)
- SET(${_sources} ${${_sources}} ${_out} )
+ LIST(APPEND ${_source} ${_in})
+ LIST(APPEND ${_generated} ${_out})
ENDFOREACH (_current_FILE)
ENDMACRO(ADD_YACC_FILES)
diff --git a/cmake/modules/UseCheckAPI.cmake b/cmake/modules/UseCheckAPI.cmake
index 334f5054a5..1518fb4fe8 100644
--- a/cmake/modules/UseCheckAPI.cmake
+++ b/cmake/modules/UseCheckAPI.cmake
@@ -1,17 +1,41 @@
+# Add a target to call checkAPIs.pl on the specified source files
+# The target is excluded from the ALL targte so must be manually
+# specified in a build command.
+# The target is added to the top-level checkAPIs target
#
+# Parameters:
+# NAME: The name of the target, must be unique
+# SWITCHES: Switches to be supplied to the script
+# SOURCES: The sources to be checked
+
+include(CMakeParseArguments)
+
macro( CHECKAPI )
- set( _sources ${ARGN} )
+ cmake_parse_arguments(CHECKAPI "DEBUG" "" "NAME;SWITCHES;SOURCES" ${ARGN} )
+
+ if (CHECKAPI_UNPARSED_ARGUMENTS)
+ message(FATAL_ERROR "CHECKAPIS Unknown argument: ${CHECKAPI_UNPARSED_ARGUMENTS}")
+ endif()
- ADD_CUSTOM_TARGET(checkapi
+ if( CHECKAPI_DEBUG )
+ set (CHECKAPI_SWITCHES ${CHECKAPI_SWITCHES --debug)
+ endif()
+
+ set(TARGET_NAME checkAPI_${CHECKAPI_NAME})
+ add_custom_target(${TARGET_NAME}
COMMAND ${PERL_EXECUTABLE}
${CMAKE_SOURCE_DIR}/tools/checkAPIs.pl
- -build
- ${_sources}
+ ${CHECKAPI_SWITCHES}
+ ${CHECKAPI_SOURCES}
WORKING_DIRECTORY
- ${CMAKE_SOURCE_DIR}
- DEPENDS
- ${CMAKE_SOURCE_DIR}/tools/checkAPIs.pl
- ${_sources}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ COMMENT
+ "Running ${TARGET_NAME}"
+ )
+ add_dependencies(checkAPI ${TARGET_NAME})
+ set_target_properties(${TARGET_NAME}
+ PROPERTIES FOLDER "Auxiliary/CheckAPIs"
+ EXCLUDE_FROM_ALL True
+ EXCLUDE_FROM_DEFAULT_BUILD True
)
- set_target_properties(checkapi PROPERTIES FOLDER "Auxiliary")
ENDMACRO()
diff --git a/cmake/modules/UseLemon.cmake b/cmake/modules/UseLemon.cmake
index 6e97144d12..9332b151f6 100644
--- a/cmake/modules/UseLemon.cmake
+++ b/cmake/modules/UseLemon.cmake
@@ -1,5 +1,5 @@
#
-MACRO(ADD_LEMON_FILES _sources )
+MACRO(ADD_LEMON_FILES _source _generated)
set(_lemonpardir ${CMAKE_SOURCE_DIR}/tools/lemon)
FOREACH (_current_FILE ${ARGN})
GET_FILENAME_COMPONENT(_in ${_current_FILE} ABSOLUTE)
@@ -22,6 +22,7 @@ MACRO(ADD_LEMON_FILES _sources )
${_lemonpardir}/lempar.c
)
- SET(${_sources} ${${_sources}} ${_out}.c )
+ LIST(APPEND ${_source} ${_in})
+ LIST(APPEND ${_generated} ${_out}.c)
ENDFOREACH (_current_FILE)
ENDMACRO(ADD_LEMON_FILES)
diff --git a/codecs/CMakeLists.txt b/codecs/CMakeLists.txt
index 4cdc2598ed..3981a863cc 100644
--- a/codecs/CMakeLists.txt
+++ b/codecs/CMakeLists.txt
@@ -81,3 +81,12 @@ if(NOT ${ENABLE_STATIC})
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
endif()
+
+CHECKAPI(
+ NAME
+ codecs
+ SWITCHES
+ -g abort -g termoutput -build
+ SOURCES
+ ${WSCODECS_FILES}
+)
diff --git a/epan/CMakeLists.txt b/epan/CMakeLists.txt
index 4c7d375e12..fec80d289a 100644
--- a/epan/CMakeLists.txt
+++ b/epan/CMakeLists.txt
@@ -175,7 +175,7 @@ set(LIBWIRESHARK_CLEAN_FILES
${LIBWIRESHARK_FILES}
)
-add_lex_files(LIBWIRESHARK_FILES
+add_lex_files(LEX_FILES GENERATED_FILES
diam_dict.l
dtd_parse.l
dtd_preparse.l
@@ -183,7 +183,7 @@ add_lex_files(LIBWIRESHARK_FILES
uat_load.l
)
-add_lemon_files(LIBWIRESHARK_FILES
+add_lemon_files(LEMON_FILES GENERATED_FILES
dtd_grammar.lemon
)
@@ -219,6 +219,7 @@ endif()
add_library(epan ${LINK_MODE_LIB}
${LIBWIRESHARK_FILES}
+ ${GENERATED_FILES}
${COMPRESS_FILES}
${LIBWIRESHARK_ASM_FILES}
$<TARGET_OBJECTS:crypt>
@@ -341,6 +342,18 @@ set_target_properties(tvbtest PROPERTIES
COMPILE_DEFINITIONS "WS_BUILD_DLL"
)
+# Commented out as per nmake
+#CHECKAPI(
+# NAME
+# epan
+# SWITCHES
+# -g termoutput -build
+# SOURCES
+# ${LIBWIRESHARK_FILES}
+# ${LEX_FILES}
+# ${LEMON_FILES}
+#)
+
#
# Editor modelines - http://www.wireshark.org/tools/modelines.html
#
diff --git a/epan/crypt/CMakeLists.txt b/epan/crypt/CMakeLists.txt
index de05ad62c4..b32d7f6bcc 100644
--- a/epan/crypt/CMakeLists.txt
+++ b/epan/crypt/CMakeLists.txt
@@ -53,6 +53,15 @@ set_target_properties(crypt PROPERTIES
COMPILE_DEFINITIONS "WS_BUILD_DLL"
)
+CHECKAPI(
+ NAME
+ crypt
+ SWITCHES
+ -g termoutput -build
+ SOURCES
+ ${CRYPT_FILES}
+)
+
#
# Editor modelines - http://www.wireshark.org/tools/modelines.html
#
diff --git a/epan/dfilter/CMakeLists.txt b/epan/dfilter/CMakeLists.txt
index 0b59c34f7b..102724921b 100644
--- a/epan/dfilter/CMakeLists.txt
+++ b/epan/dfilter/CMakeLists.txt
@@ -51,16 +51,17 @@ if(WERROR_COMMON_FLAGS)
)
endif()
-add_lex_files(DFILTER_FILES
+add_lex_files(LEX_FILES GENERATED_FILES
scanner.l
)
-add_lemon_files(DFILTER_FILES
+add_lemon_files(LEMON_FILES GENERATED_FILES
grammar.lemon
)
add_library(dfilter OBJECT
${DFILTER_FILES}
+ ${GENERATED_FILES}
)
set_target_properties(dfilter PROPERTIES
@@ -68,6 +69,18 @@ set_target_properties(dfilter PROPERTIES
COMPILE_DEFINITIONS "WS_BUILD_DLL"
)
+CHECKAPI(
+ NAME
+ dfilter
+ SWITCHES
+ -g termoutput -build
+ SOURCES
+ ${DFILTER_FILES}
+# LEX files commented out due to use of malloc, free etc.
+# ${LEX_FILES}
+ ${LEMON_FILES}
+)
+
#
# Editor modelines - http://www.wireshark.org/tools/modelines.html
#
diff --git a/epan/dissectors/CMakeLists.txt b/epan/dissectors/CMakeLists.txt
index 64f2b6a740..02b56c2a44 100644
--- a/epan/dissectors/CMakeLists.txt
+++ b/epan/dissectors/CMakeLists.txt
@@ -984,7 +984,6 @@ set(DISSECTOR_SRC
packet-ncp-nmas.c
packet-ncp-sss.c
packet-ncp.c
- packet-ncp2222.c
packet-ncs.c
packet-ndmp.c
packet-ndp.c
@@ -1428,10 +1427,15 @@ set(DISSECTOR_SRC
set(DISSECTOR_SUPPORT_SRC
packet-dcerpc-nt.c
usb.c
- register.c
)
source_group(dissector-support FILES ${DISSECTOR_SUPPORT_SRC})
+set(DISSECTOR_GENERATED_FILES
+ packet-ncp2222.c
+ register.c
+)
+source_group(dissector-generated FILES ${DISSECTOR_GENERATED_FILES})
+
set(DISSECTOR_FILES
${DISSECTOR_SRC}
${PIDL_DISSECTOR_SRC}
@@ -1454,6 +1458,7 @@ set(CLEAN_FILES
${PIDL_DISSECTOR_SRC}
${ASN1_DISSECTOR_SRC}
${DISSECTOR_SUPPORT_SRC}
+ ${DISSECTOR_GENERATED_FILES}
)
if(WERROR_COMMON_FLAGS)
@@ -1467,6 +1472,7 @@ endif()
add_library(dissectors OBJECT
${DISSECTOR_FILES}
${DISSECTOR_SUPPORT_SRC}
+ ${DISSECTOR_GENERATED_FILES}
)
set_target_properties(dissectors PROPERTIES
@@ -1474,6 +1480,19 @@ set_target_properties(dissectors PROPERTIES
COMPILE_DEFINITIONS "WS_BUILD_DLL"
)
+set(CHECKAPI_FILE_LIST "${CMAKE_CURRENT_BINARY_DIR}/files.txt")
+file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")
+file(WRITE "${CHECKAPI_FILE_LIST}" "${DISSECTOR_FILES}")
+CHECKAPI(
+ NAME
+ dissectors
+ SWITCHES
+ -g abort -g termoutput -build --file ${CHECKAPI_FILE_LIST}
+ SOURCES
+ ${DISSECTOR_SUPPORT_SRC}
+ ${DISSECTOR_HEADERS}
+)
+
#
# Editor modelines - http://www.wireshark.org/tools/modelines.html
#
diff --git a/epan/ftypes/CMakeLists.txt b/epan/ftypes/CMakeLists.txt
index 306c57817e..245ceb9052 100644
--- a/epan/ftypes/CMakeLists.txt
+++ b/epan/ftypes/CMakeLists.txt
@@ -58,6 +58,16 @@ set_target_properties(ftypes PROPERTIES
COMPILE_DEFINITIONS "WS_BUILD_DLL"
)
+# Commented out as per nmake
+#CHECKAPI(
+# NAME
+# ftypes
+# SWITCHES
+# -g termoutput -build
+# SOURCES
+# ${FTYPE_FILES}
+#)
+
#
# Editor modelines - http://www.wireshark.org/tools/modelines.html
#
diff --git a/epan/wslua/CMakeLists.txt b/epan/wslua/CMakeLists.txt
index 7b3ec346db..57ba001661 100644
--- a/epan/wslua/CMakeLists.txt
+++ b/epan/wslua/CMakeLists.txt
@@ -166,6 +166,15 @@ set_target_properties(wslua PROPERTIES
COMPILE_DEFINITIONS "WS_BUILD_DLL"
)
+CHECKAPI(
+ NAME
+ wslua
+ SWITCHES
+ -g termoutput -build
+ SOURCES
+ ${WSLUA_FILES}
+)
+
#
# Editor modelines - http://www.wireshark.org/tools/modelines.html
#
diff --git a/plugins/docsis/CMakeLists.txt b/plugins/docsis/CMakeLists.txt
index 331fb15e87..74f8beb37d 100644
--- a/plugins/docsis/CMakeLists.txt
+++ b/plugins/docsis/CMakeLists.txt
@@ -104,3 +104,14 @@ install(TARGETS docsis
RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
)
+
+file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")
+CHECKAPI(
+ NAME
+ docsis
+ SWITCHES
+ -g abort -g termoutput -build
+ SOURCES
+ ${DISSECTOR_SRC}
+ ${DISSECTOR_HEADERS}
+)
diff --git a/plugins/ethercat/CMakeLists.txt b/plugins/ethercat/CMakeLists.txt
index 0821987753..c50d900f47 100644
--- a/plugins/ethercat/CMakeLists.txt
+++ b/plugins/ethercat/CMakeLists.txt
@@ -65,3 +65,14 @@ install(TARGETS ethercat
RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
)
+
+file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")
+CHECKAPI(
+ NAME
+ ethercat
+ SWITCHES
+ -g abort -g termoutput -build
+ SOURCES
+ ${DISSECTOR_SRC}
+ ${DISSECTOR_HEADERS}
+)
diff --git a/plugins/gryphon/CMakeLists.txt b/plugins/gryphon/CMakeLists.txt
index b3342ccdd5..352cddde3f 100644
--- a/plugins/gryphon/CMakeLists.txt
+++ b/plugins/gryphon/CMakeLists.txt
@@ -59,3 +59,14 @@ install(TARGETS gryphon
RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
)
+
+file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")
+CHECKAPI(
+ NAME
+ gryphon
+ SWITCHES
+ -g abort -g termoutput -build
+ SOURCES
+ ${DISSECTOR_SRC}
+ ${DISSECTOR_HEADERS}
+)
diff --git a/plugins/irda/CMakeLists.txt b/plugins/irda/CMakeLists.txt
index 89fbe87588..d035ab05d4 100644
--- a/plugins/irda/CMakeLists.txt
+++ b/plugins/irda/CMakeLists.txt
@@ -61,3 +61,14 @@ install(TARGETS irda
RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
)
+
+file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")
+CHECKAPI(
+ NAME
+ irda
+ SWITCHES
+ -g abort -g termoutput -build
+ SOURCES
+ ${DISSECTOR_SRC}
+ ${DISSECTOR_HEADERS}
+)
diff --git a/plugins/m2m/CMakeLists.txt b/plugins/m2m/CMakeLists.txt
index 4ae3d746ea..02a69da0c6 100644
--- a/plugins/m2m/CMakeLists.txt
+++ b/plugins/m2m/CMakeLists.txt
@@ -65,3 +65,15 @@ install(TARGETS m2m
RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
)
+
+file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")
+CHECKAPI(
+ NAME
+ m2m
+ SWITCHES
+ -g abort -g termoutput -build
+ SOURCES
+ ${DISSECTOR_SRC}
+ ${DISSECTOR_SUPPORT_SRC}
+ ${DISSECTOR_HEADERS}
+)
diff --git a/plugins/mate/CMakeLists.txt b/plugins/mate/CMakeLists.txt
index 6f3c35aa61..16459c4c7a 100644
--- a/plugins/mate/CMakeLists.txt
+++ b/plugins/mate/CMakeLists.txt
@@ -40,11 +40,10 @@ set(DISSECTOR_SUPPORT_CLEAN_SRC
${DISSECTOR_SUPPORT_SRC}
)
-add_lemon_files(DISSECTOR_SUPPORT_SRC
+add_lemon_files(LEMON_FILES GENERATED_FILES
mate_grammar.lemon
)
-
-add_lex_files(DISSECTOR_SUPPORT_SRC
+add_lex_files(LEX_FILES GENERATED_FILES
mate_parser.l
)
@@ -52,6 +51,7 @@ set(PLUGIN_FILES
plugin.c
${DISSECTOR_SRC}
${DISSECTOR_SUPPORT_SRC}
+ ${GENERATED_FILES}
)
set(CLEAN_FILES
@@ -81,3 +81,18 @@ install(TARGETS mate
RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
)
+
+file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")
+CHECKAPI(
+ NAME
+ mate
+ SWITCHES
+ -g abort -g termoutput -build
+ SOURCES
+ ${DISSECTOR_SRC}
+ ${DISSECTOR_SUPPORT_SRC}
+ ${DISSECTOR_HEADERS}
+# LEX files commented out due to use of malloc, free etc.
+# ${LEX_FILES}
+ ${LEMON_FILES}
+)
diff --git a/plugins/opcua/CMakeLists.txt b/plugins/opcua/CMakeLists.txt
index f78b16d536..cedeaeedb3 100644
--- a/plugins/opcua/CMakeLists.txt
+++ b/plugins/opcua/CMakeLists.txt
@@ -75,3 +75,15 @@ install(TARGETS opcua
RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
)
+
+file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")
+CHECKAPI(
+ NAME
+ opcua
+ SWITCHES
+ -g abort -g termoutput -build
+ SOURCES
+ ${DISSECTOR_SRC}
+ ${DISSECTOR_SUPPORT_SRC}
+ ${DISSECTOR_HEADERS}
+)
diff --git a/plugins/profinet/CMakeLists.txt b/plugins/profinet/CMakeLists.txt
index 73bdbc4b76..89d7ab7f35 100644
--- a/plugins/profinet/CMakeLists.txt
+++ b/plugins/profinet/CMakeLists.txt
@@ -72,3 +72,15 @@ install(TARGETS profinet
RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
)
+
+file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")
+CHECKAPI(
+ NAME
+ profinet
+ SWITCHES
+ -g abort -g termoutput -build
+ SOURCES
+ ${DISSECTOR_SRC}
+ ${DISSECTOR_SUPPORT_SRC}
+ ${DISSECTOR_HEADERS}
+)
diff --git a/plugins/stats_tree/CMakeLists.txt b/plugins/stats_tree/CMakeLists.txt
index e0d1dbcc28..60283123fd 100644
--- a/plugins/stats_tree/CMakeLists.txt
+++ b/plugins/stats_tree/CMakeLists.txt
@@ -48,3 +48,14 @@ install(TARGETS stats_tree
RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
)
+
+file(GLOB PLUGIN_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")
+CHECKAPI(
+ NAME
+ stats_tree
+ SWITCHES
+ -g abort -g termoutput -build
+ SOURCES
+ ${CLEAN_FILES}
+ ${PLUGIN_HEADERS}
+)
diff --git a/plugins/unistim/CMakeLists.txt b/plugins/unistim/CMakeLists.txt
index e0f742452b..b937e09872 100644
--- a/plugins/unistim/CMakeLists.txt
+++ b/plugins/unistim/CMakeLists.txt
@@ -59,3 +59,14 @@ install(TARGETS unistim
RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
)
+
+file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")
+CHECKAPI(
+ NAME
+ unistim
+ SWITCHES
+ -g abort -g termoutput -build
+ SOURCES
+ ${DISSECTOR_SRC}
+ ${DISSECTOR_HEADERS}
+)
diff --git a/plugins/wimax/CMakeLists.txt b/plugins/wimax/CMakeLists.txt
index 13bf8dc02f..f7cffbca18 100644
--- a/plugins/wimax/CMakeLists.txt
+++ b/plugins/wimax/CMakeLists.txt
@@ -105,3 +105,15 @@ install(TARGETS wimax
RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
)
+
+file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")
+CHECKAPI(
+ NAME
+ wimax
+ SWITCHES
+ -g abort -g termoutput -build
+ SOURCES
+ ${DISSECTOR_SRC}
+ ${DISSECTOR_SUPPORT_SRC}
+ ${DISSECTOR_HEADERS}
+)
diff --git a/plugins/wimaxasncp/CMakeLists.txt b/plugins/wimaxasncp/CMakeLists.txt
index b31ac156ba..277c2e3796 100644
--- a/plugins/wimaxasncp/CMakeLists.txt
+++ b/plugins/wimaxasncp/CMakeLists.txt
@@ -45,9 +45,10 @@ if (WERROR_COMMON_FLAGS)
)
endif()
-add_lex_files(PLUGIN_FILES
+add_lex_files(LEX_FILES GENERATED_FILES
wimaxasncp_dict.l
)
+list(APPEND PLUGIN_FILES ${GENERATED_FILES})
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
@@ -63,3 +64,16 @@ install(TARGETS wimaxasncp
RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
)
+
+file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")
+CHECKAPI(
+ NAME
+ wimaxasncp
+ SWITCHES
+ -g abort -g termoutput -build
+ SOURCES
+ ${DISSECTOR_SRC}
+ ${DISSECTOR_HEADERS}
+# LEX files commented out due to use of malloc, free etc.
+# ${LEX_FILES}
+)
diff --git a/plugins/wimaxmacphy/CMakeLists.txt b/plugins/wimaxmacphy/CMakeLists.txt
index bbcd447237..344ebb0ed1 100644
--- a/plugins/wimaxmacphy/CMakeLists.txt
+++ b/plugins/wimaxmacphy/CMakeLists.txt
@@ -59,3 +59,14 @@ install(TARGETS wimaxmacphy
RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/plugins/${CPACK_PACKAGE_VERSION}
)
+
+file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")
+CHECKAPI(
+ NAME
+ wimaxmacphy
+ SWITCHES
+ -g abort -g termoutput -build
+ SOURCES
+ ${DISSECTOR_SRC}
+ ${DISSECTOR_HEADERS}
+)
diff --git a/randpkt_core/CMakeLists.txt b/randpkt_core/CMakeLists.txt
index f40f745408..15e1822f57 100644
--- a/randpkt_core/CMakeLists.txt
+++ b/randpkt_core/CMakeLists.txt
@@ -36,7 +36,7 @@ if (WERROR_COMMON_FLAGS)
)
endif()
-file(GLOB RANDPKT_CORE_HEADERS randpkt_core.h)
+file(GLOB RANDPKT_CORE_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" randpkt_core.h)
add_library(randpkt_core STATIC
${RANDPKT_CORE_SRC}
@@ -45,3 +45,22 @@ add_library(randpkt_core STATIC
set_target_properties(randpkt_core PROPERTIES
LINK_FLAGS "${WS_LINK_FLAGS}"
FOLDER "Libs")
+
+CHECKAPI(
+ NAME
+ randpkt_core-base
+ SWITCHES
+ -g deprecated-gtk
+ SOURCES
+ ${RANDPKT_CORE_SRC}
+ ${RANDPKT_CORE_HEADERS}
+)
+CHECKAPI(
+ NAME
+ randpkt_core-todo
+ SWITCHES
+ -M -g deprecated-gtk-todo
+ SOURCES
+ ${RANDPKT_CORE_SRC}
+ ${RANDPKT_CORE_HEADERS}
+)
diff --git a/tools/checkAPIs.pl b/tools/checkAPIs.pl
index 0de0644ff2..36a2110f2d 100755
--- a/tools/checkAPIs.pl
+++ b/tools/checkAPIs.pl
@@ -1832,7 +1832,9 @@ sub print_usage
print " [--build] [-s group1] [-s group2] ... \n";
print " [--sourcedir=srcdir] \n";
print " [--nocheck-value-string-array] \n";
- print " [--nocheck-addtext] [--nocheck-hf] [--debug] file1 file2 ...\n";
+ print " [--nocheck-addtext] [--nocheck-hf] [--debug]\n";
+ print " [--file=/path/to/file_list]\n";
+ print " file1 file2 ...\n";
print "\n";
print " -M: Generate output for -g in 'machine-readable' format\n";
print " -p: used by the git pre-commit hook\n";
@@ -1976,6 +1978,7 @@ my $check_addtext = 1; # default: enabled
my $debug_flag = 0; # default: disabled
my $buildbot_flag = 0;
my $source_dir = "";
+my $filenamelist = "";
my $help_flag = 0;
my $pre_commit = 0;
@@ -1990,6 +1993,7 @@ my $result = GetOptions(
'sourcedir=s' => \$source_dir,
'debug' => \$debug_flag,
'pre-commit' => \$pre_commit,
+ 'file=s' => \$filenamelist,
'help' => \$help_flag
);
if (!$result || $help_flag) {
@@ -2016,11 +2020,23 @@ for my $apiGroup (keys %APIs) {
@{$APIs{$apiGroup}->{function_counts}}{@functions} = (); # Add fcn names as keys to the anonymous hash
}
+my @filelist;
+push @filelist, @ARGV;
+if ("$filenamelist" ne "") {
+ # We have a file containing a list of files to check (possibly in
+ # addition to those on the command line).
+ open(FC, $filenamelist) || die("Couldn't open $filenamelist");
+
+ while (<FC>) {
+ # file names can be separated by ;
+ push @filelist, split(';');
+ }
+ close(FC);
+}
# Read through the files; do various checks
-while ($_ = $ARGV[0])
+while ($_ = pop @filelist)
{
- shift;
my $filename = $_;
my $fileContents = '';
my @foundAPIs = ();
diff --git a/ui/CMakeLists.txt b/ui/CMakeLists.txt
index cb6d27df79..f7842b8ce7 100644
--- a/ui/CMakeLists.txt
+++ b/ui/CMakeLists.txt
@@ -69,9 +69,7 @@ file(GLOB EXTRA_UI_HEADERS
tap-rtp-analysis.h
)
-set(DIRTY_UI_SRC)
-
-add_lex_files(DIRTY_UI_SRC
+add_lex_files(LEX_FILES GENERATED_FILES
text_import_scanner.l
)
@@ -90,12 +88,33 @@ endif()
add_library(ui STATIC
${COMMON_UI_SRC}
- ${DIRTY_UI_SRC}
+ ${GENERATED_FILES}
)
set_target_properties(ui PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}")
set_target_properties(ui PROPERTIES FOLDER "UI")
+CHECKAPI(
+ NAME
+ ui-base
+ SWITCHES
+ -g deprecated-gtk
+ SOURCES
+ ${COMMON_UI_SRC}
+# LEX files commented out due to use of malloc, free etc.
+# ${LEX_FILES}
+)
+CHECKAPI(
+ NAME
+ ui-todo
+ SWITCHES
+ -M -g deprecated-gtk-todo
+ SOURCES
+ ${COMMON_UI_SRC}
+# LEX files commented out due to use of malloc, free etc.
+# ${LEX_FILES}
+)
+
#
# Editor modelines - http://www.wireshark.org/tools/modelines.html
#
diff --git a/ui/gtk/CMakeLists.txt b/ui/gtk/CMakeLists.txt
index 3621119b88..75e51bf617 100644
--- a/ui/gtk/CMakeLists.txt
+++ b/ui/gtk/CMakeLists.txt
@@ -322,6 +322,27 @@ set_target_properties(gtkui PROPERTIES
LINK_FLAGS "${WS_LINK_FLAGS}"
FOLDER "UI")
+CHECKAPI(
+ NAME
+ gtk-base
+ SWITCHES
+ -g deprecated-gtk
+ SOURCES
+ ${WIRESHARK_GTK_SRC}
+ ${WIRESHARK_TAP_SRC}
+ ${PLATFORM_UI_SRC}
+)
+CHECKAPI(
+ NAME
+ gtk-todo
+ SWITCHES
+ -M -g deprecated-gtk-todo
+ SOURCES
+ ${WIRESHARK_GTK_SRC}
+ ${WIRESHARK_TAP_SRC}
+ ${PLATFORM_UI_SRC}
+)
+
#
# Editor modelines - http://www.wireshark.org/tools/modelines.html
#
diff --git a/wiretap/CMakeLists.txt b/wiretap/CMakeLists.txt
index 59233d7911..60c8a1e349 100644
--- a/wiretap/CMakeLists.txt
+++ b/wiretap/CMakeLists.txt
@@ -92,12 +92,12 @@ if (WERROR_COMMON_FLAGS)
)
endif()
-add_lex_files(WIRETAP_FILES
+add_lex_files(LEX_FILES GENERATED_FILES
ascend_scanner.l
k12text.l
)
-add_yacc_files(WIRETAP_FILES
+add_yacc_files(YACC_FILES GENERATED_FILES
ascend.y
)
@@ -110,6 +110,7 @@ set(wiretap_LIBS
add_library(wiretap ${LINK_MODE_LIB}
${WIRETAP_FILES}
+ ${GENERATED_FILES}
${CMAKE_BINARY_DIR}/image/wiretap.rc
)
@@ -154,3 +155,17 @@ if(NOT ${ENABLE_STATIC})
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
endif()
+
+CHECKAPI(
+ NAME
+ wiretap
+ SWITCHES
+## 'abort' checking disabled for now pending resolution of existing use of g_assert & g_error
+## -g abort -g termoutput
+ -g termoutput -build
+ SOURCES
+ ${WIRETAP_FILES}
+# LEX files commented out due to use of malloc, free etc.
+# ${LEX_FILES}
+ ${YACC_FILES}
+)
diff --git a/wsutil/CMakeLists.txt b/wsutil/CMakeLists.txt
index 209787a658..384bda65eb 100644
--- a/wsutil/CMakeLists.txt
+++ b/wsutil/CMakeLists.txt
@@ -21,15 +21,7 @@
include(UseABICheck)
-if(WIN32)
- set(WSUTIL_PLATFORM_FILES
- file_util.c
- inet_ntop.c
- inet_pton.c
- )
-ENDIF(WIN32)
-
-set(WSUTIL_FILES
+set(WSUTIL_COMMON_FILES
adler32.c
aes.c
airpdcap_wep.c
@@ -75,11 +67,20 @@ set(WSUTIL_FILES
type_util.c
unicode-utils.c
ws_mempbrk.c
- ${WSUTIL_PLATFORM_FILES}
)
+set(WSUTIL_FILES ${WSUTIL_COMMON_FILES})
+if(WIN32)
+ list(APPEND WSUTIL_FILES
+ file_util.c
+ inet_ntop.c
+ inet_pton.c
+ )
+ENDIF(WIN32)
+
+
if(HAVE_OS_X_FRAMEWORKS)
- set(WSUTIL_FILES ${WSUTIL_FILES} cfutils.c)
+ list(APPEND WSUTIL_FILES cfutils.c)
endif()
#
@@ -141,23 +142,23 @@ if(COMPILER_CAN_HANDLE_SSE4_2)
endif()
endif()
if(HAVE_SSE4_2)
- set(WSUTIL_FILES ${WSUTIL_FILES} ws_mempbrk_sse42.c)
+ list(APPEND WSUTIL_FILES ws_mempbrk_sse42.c)
endif()
if(NOT HAVE_GETOPT_LONG)
- set(WSUTIL_FILES ${WSUTIL_FILES} getopt_long.c)
+ list(APPEND WSUTIL_FILES getopt_long.c)
endif()
if(NOT HAVE_INET_ATON)
- set(WSUTIL_FILES ${WSUTIL_FILES} inet_aton.c)
+ list(APPEND WSUTIL_FILES inet_aton.c)
endif()
if(NOT HAVE_POPCOUNT)
- set(WSUTIL_FILES ${WSUTIL_FILES} popcount.c)
+ list(APPEND WSUTIL_FILES popcount.c)
endif()
if(NOT HAVE_STRPTIME)
- set(WSUTIL_FILES ${WSUTIL_FILES} strptime.c)
+ list(APPEND WSUTIL_FILES strptime.c)
endif()
if(APPLE)
@@ -259,6 +260,15 @@ endif()
add_definitions( -DTOP_SRCDIR=\"${CMAKE_SOURCE_DIR}\" )
+CHECKAPI(
+ NAME
+ wsutil
+ SWITCHES
+ -g termoutput -build
+ SOURCES
+ ${WSUTIL_COMMON_FILES}
+)
+
#
# Editor modelines - http://www.wireshark.org/tools/modelines.html
#