diff options
author | Balint Reczey <balint@balintreczey.hu> | 2013-10-15 07:30:05 +0000 |
---|---|---|
committer | Balint Reczey <balint@balintreczey.hu> | 2013-10-15 07:30:05 +0000 |
commit | 8956ee2a567e2e2e4d8b8704d80beb9cde6678b1 (patch) | |
tree | 51cf19e31d2856428b0195e4b131435c93c9536a | |
parent | 66de01339985521b2b69fcfcb4cd0587dea63fba (diff) | |
download | wireshark-8956ee2a567e2e2e4d8b8704d80beb9cde6678b1.tar.gz |
Factor out common parts of ABI checks to UseABICheck.cmake
svn path=/trunk/; revision=52614
-rw-r--r-- | cmake/modules/UseABICheck.cmake | 20 | ||||
-rw-r--r-- | epan/CMakeLists.txt | 20 | ||||
-rw-r--r-- | wiretap/CMakeLists.txt | 17 | ||||
-rw-r--r-- | wsutil/CMakeLists.txt | 18 |
4 files changed, 31 insertions, 44 deletions
diff --git a/cmake/modules/UseABICheck.cmake b/cmake/modules/UseABICheck.cmake new file mode 100644 index 0000000000..fcbe2d55b6 --- /dev/null +++ b/cmake/modules/UseABICheck.cmake @@ -0,0 +1,20 @@ +# +# ABI Check related macros +# +# ABI compliance checker can be obtained from +# http://ispras.linux-foundation.org/index.php/ABI_compliance_checker +# Checked using version 1.21.12 + +MACRO(ABICHECK _libname) + get_directory_property(INCLUDE_DIRS INCLUDE_DIRECTORIES) + list(REMOVE_DUPLICATES INCLUDE_DIRS) + string(REGEX REPLACE ";" "\n" INCLUDE_DIRS "${INCLUDE_DIRS}") + configure_file(../abi-descriptor.template abi-descriptor.xml) + # discover and substitute list of include directories for ABI compatibility + # checks + file(GLOB HEADERS *.h) + file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/abi-check-headers) + file(COPY ${HEADERS} ../ws_symbol_export.h DESTINATION abi-check-headers) + add_custom_target(dumpabi-${_libname} DEPENDS ${_libname}.abi.tar.gz) +ENDMACRO() + diff --git a/epan/CMakeLists.txt b/epan/CMakeLists.txt index 060403a53e..9baeaa405c 100644 --- a/epan/CMakeLists.txt +++ b/epan/CMakeLists.txt @@ -21,6 +21,8 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # +include(UseABICheck) + if (HAVE_LIBLUA) include( wslua/CMakeLists.txt ) endif() @@ -1607,17 +1609,8 @@ set_target_properties(epan PROPERTIES COMPILE_DEFINITIONS "WS_BUILD_DLL") set_target_properties(epan PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}") set_target_properties(epan PROPERTIES VERSION ${FULL_SO_VERSION} SOVERSION 0) -# discover and substitute list of include directories for ABI compatibility -# checks -get_directory_property(INCLUDE_DIRS INCLUDE_DIRECTORIES) -list(REMOVE_DUPLICATES INCLUDE_DIRS) -string(REGEX REPLACE ";" "\n" INCLUDE_DIRS "${INCLUDE_DIRS}") -configure_file(../abi-descriptor.template abi-descriptor.xml) +ABICHECK(libwireshark) -# ABI compliance checker can be obtained from -# http://ispras.linux-foundation.org/index.php/ABI_compliance_checker -# Checked using version 1.21.12 -file(GLOB EPAN_HEADERS *.h) file(GLOB CRYPT_HEADERS crypt/*.h) file(GLOB DFILTER_HEADERS dfilter/*.h ../tools/lemon/cppmagic.h) file(GLOB D_HEADERS dissectors/*.h) @@ -1631,8 +1624,8 @@ file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/abi-check-headers ${CMAKE_CURRENT_BINARY_DIR}/abi-check-headers/ftypes ${CMAKE_CURRENT_BINARY_DIR}/abi-check-headers/wmem) -file(COPY ../color.h ../register.h ../ws_symbol_export.h DESTINATION abi-check-headers) -file(COPY ${EPAN_HEADERS} DESTINATION abi-check-headers/epan) +file(COPY ../color.h ../register.h DESTINATION abi-check-headers) +file(COPY ${HEADERS} DESTINATION abi-check-headers/epan) file(COPY ${CRYPT_HEADERS} DESTINATION abi-check-headers/crypt) file(COPY ${DFILTER_HEADERS} DESTINATION abi-check-headers/dfilter) file(COPY ${D_HEADERS} DESTINATION abi-check-headers/dissectors) @@ -1654,10 +1647,9 @@ add_custom_command(OUTPUT libwireshark.abi.tar.gz abi-check-headers/epan/* abi-check-headers/crypt/* abi-check-headers/dfilter/* abi-check-headers/dissectors/* abi-check-headers/ftypes/* abi-check-headers/wmem/* - DEPENDS ${EPAN_HEADERS} + DEPENDS ${HEADERS} ${CRYPT_HEADERS} ${DFILTER_HEADERS} ${D_HEADERS} ${FTYPES_HEADERS} ${WMEM_HEADERS} epan) -add_custom_target(dumpabi-libwireshark DEPENDS libwireshark.abi.tar.gz) # By default the name for a library with target name epan will be libepan, # but Ethereal is now named Wireshark diff --git a/wiretap/CMakeLists.txt b/wiretap/CMakeLists.txt index 7fc2275da5..b5f9e9c4da 100644 --- a/wiretap/CMakeLists.txt +++ b/wiretap/CMakeLists.txt @@ -21,6 +21,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # +include(UseABICheck) set(CLEAN_FILES 5views.c @@ -121,20 +122,7 @@ set_target_properties(wiretap PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}") set_target_properties(wiretap PROPERTIES VERSION ${FULL_SO_VERSION} SOVERSION 0) set_target_properties(wiretap PROPERTIES FOLDER "DLLs") -# discover and substitute list of include directories for ABI compatibility -# checks -get_directory_property(INCLUDE_DIRS INCLUDE_DIRECTORIES) -list(REMOVE_DUPLICATES INCLUDE_DIRS) -string(REGEX REPLACE ";" "\n" INCLUDE_DIRS "${INCLUDE_DIRS}") -configure_file(../abi-descriptor.template abi-descriptor.xml) - -# ABI compliance checker can be obtained from -# http://ispras.linux-foundation.org/index.php/ABI_compliance_checker -# Checked using version 1.21.12 -file(GLOB HEADERS *.h) -file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/abi-check-headers) - -file(COPY ${HEADERS} ../ws_symbol_export.h DESTINATION abi-check-headers) +ABICHECK(libwiretap) add_custom_command(OUTPUT libwiretap.abi.tar.gz COMMAND cp ../config.h abi-check-headers/ @@ -144,7 +132,6 @@ add_custom_command(OUTPUT libwiretap.abi.tar.gz COMMAND cp abi_dumps/libwiretap/libwiretap_* libwiretap.abi.tar.gz COMMAND rm -rf abi-check-headers/* abi_dumps DEPENDS ${HEADERS} wiretap) -add_custom_target(dumpabi-libwiretap DEPENDS libwiretap.abi.tar.gz) target_link_libraries(wiretap ${wiretap_LIBS}) diff --git a/wsutil/CMakeLists.txt b/wsutil/CMakeLists.txt index cbc5d0de03..ca9053957c 100644 --- a/wsutil/CMakeLists.txt +++ b/wsutil/CMakeLists.txt @@ -21,6 +21,8 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # +include(UseABICheck) + IF(WIN32) set(WSUTIL_PLATFORM_FILES file_util.c @@ -99,20 +101,7 @@ set_target_properties(wsutil PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}") set_target_properties(wsutil PROPERTIES VERSION ${FULL_SO_VERSION} SOVERSION 0) set_target_properties(wsutil PROPERTIES FOLDER "DLLs") -# discover and substitute list of include directories for ABI compatibility -# checks -get_directory_property(INCLUDE_DIRS INCLUDE_DIRECTORIES) -list(REMOVE_DUPLICATES INCLUDE_DIRS) -string(REGEX REPLACE ";" "\n" INCLUDE_DIRS "${INCLUDE_DIRS}") -configure_file(../abi-descriptor.template abi-descriptor.xml) - -# ABI compliance checker can be obtained from -# http://ispras.linux-foundation.org/index.php/ABI_compliance_checker -# Checked using version 1.21.12 -file(GLOB HEADERS *.h) -file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/abi-check-headers) - -file(COPY ${HEADERS} ../ws_symbol_export.h DESTINATION abi-check-headers) +ABICHECK(libwsutil) add_custom_command(OUTPUT libwsutil.abi.tar.gz COMMAND cp ../config.h abi-check-headers/ @@ -122,7 +111,6 @@ add_custom_command(OUTPUT libwsutil.abi.tar.gz COMMAND cp abi_dumps/libwsutil/libwsutil_* libwsutil.abi.tar.gz COMMAND rm -rf abi-check-headers/* abi_dumps DEPENDS ${HEADERS} wsutil) -add_custom_target(dumpabi-libwsutil DEPENDS libwsutil.abi.tar.gz) target_link_libraries(wsutil ${wsutil_LIBS}) |