Set and use TMPDIR for ABI dump generation when using CMake

svn path=/trunk/; revision=52688
This commit is contained in:
Balint Reczey 2013-10-19 14:55:12 +00:00
parent f6e6660a19
commit 70dce86ab3
4 changed files with 37 additions and 36 deletions

View File

@ -6,6 +6,7 @@
# Checked using version 1.21.12
MACRO(ABICHECK _libname)
set(ABICHECK_TMPDIR ${CMAKE_CURRENT_BINARY_DIR}/abi-check-headers)
get_directory_property(INCLUDE_DIRS INCLUDE_DIRECTORIES)
list(REMOVE_DUPLICATES INCLUDE_DIRS)
string(REGEX REPLACE ";" "\n" INCLUDE_DIRS "${INCLUDE_DIRS}")
@ -13,8 +14,8 @@ MACRO(ABICHECK _libname)
# 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)
file(MAKE_DIRECTORY ${ABICHECK_TMPDIR})
file(COPY ${HEADERS} ../ws_symbol_export.h DESTINATION ${ABICHECK_TMPDIR})
add_custom_target(dumpabi-${_libname} DEPENDS ${_libname}.abi.tar.gz)
ENDMACRO()

View File

@ -1617,37 +1617,37 @@ file(GLOB DFILTER_HEADERS dfilter/*.h ../tools/lemon/cppmagic.h)
file(GLOB D_HEADERS dissectors/*.h)
file(GLOB FTYPES_HEADERS ftypes/*.h)
file(GLOB WMEM_HEADERS wmem/*.h)
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/abi-check-headers
${CMAKE_CURRENT_BINARY_DIR}/abi-check-headers/epan
${CMAKE_CURRENT_BINARY_DIR}/abi-check-headers/crypt
${CMAKE_CURRENT_BINARY_DIR}/abi-check-headers/dfilter
${CMAKE_CURRENT_BINARY_DIR}/abi-check-headers/dissectors
${CMAKE_CURRENT_BINARY_DIR}/abi-check-headers/ftypes
${CMAKE_CURRENT_BINARY_DIR}/abi-check-headers/wmem)
file(MAKE_DIRECTORY ${ABICHECK_TMPDIR}
${ABICHECK_TMPDIR}/epan
${ABICHECK_TMPDIR}/crypt
${ABICHECK_TMPDIR}/dfilter
${ABICHECK_TMPDIR}/dissectors
${ABICHECK_TMPDIR}/ftypes
${ABICHECK_TMPDIR}/wmem)
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)
file(COPY ${FTYPES_HEADERS} DESTINATION abi-check-headers/ftypes)
file(COPY ${WMEM_HEADERS} DESTINATION abi-check-headers/wmem)
file(COPY ../color.h ../register.h DESTINATION ${ABICHECK_TMPDIR})
file(COPY ${HEADERS} DESTINATION ${ABICHECK_TMPDIR}/epan)
file(COPY ${CRYPT_HEADERS} DESTINATION ${ABICHECK_TMPDIR}/crypt)
file(COPY ${DFILTER_HEADERS} DESTINATION ${ABICHECK_TMPDIR}/dfilter)
file(COPY ${D_HEADERS} DESTINATION ${ABICHECK_TMPDIR}/dissectors)
file(COPY ${FTYPES_HEADERS} DESTINATION ${ABICHECK_TMPDIR}/ftypes)
file(COPY ${WMEM_HEADERS} DESTINATION ${ABICHECK_TMPDIR}/wmem)
add_custom_command(OUTPUT libwireshark.abi.tar.gz
COMMAND cp ../config.h abi-check-headers
COMMAND rm abi-check-headers/dissectors/x11-extension-implementation.h
abi-check-headers/dissectors/packet-rtps.h
abi-check-headers/dissectors/x11-glx-render-enum.h
abi-check-headers/dissectors/x11-register-info.h
abi-check-headers/dissectors/packet-idmp.h
COMMAND cp ../config.h ${ABICHECK_TMPDIR}
COMMAND rm -f ${ABICHECK_TMPDIR}/dissectors/x11-extension-implementation.h
${ABICHECK_TMPDIR}/dissectors/packet-rtps.h
${ABICHECK_TMPDIR}/dissectors/x11-glx-render-enum.h
${ABICHECK_TMPDIR}/dissectors/x11-register-info.h
${ABICHECK_TMPDIR}/dissectors/packet-idmp.h
COMMAND abi-compliance-checker -l libwireshark -v1 ${FULL_SO_VERSION}
-relpath ${CMAKE_CURRENT_BINARY_DIR} -dump-abi abi-descriptor.xml
|| cat logs/libwireshark/[0-9]*/log.txt
COMMAND cp abi_dumps/libwireshark/libwireshark_* libwireshark.abi.tar.gz
COMMAND rm -rf abi_dumps abi-check-headers/config.h
abi-check-headers/epan/* abi-check-headers/crypt/*
abi-check-headers/dfilter/* abi-check-headers/dissectors/*
abi-check-headers/ftypes/* abi-check-headers/wmem/*
|| cat ${CMAKE_CURRENT_BINARY_DIR}/logs/libwireshark/[0-9]*/log.txt
COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/abi_dumps/libwireshark/libwireshark_* ${CMAKE_CURRENT_BINARY_DIR}/libwireshark.abi.tar.gz
COMMAND rm -rf ${CMAKE_CURRENT_BINARY_DIR}/abi_dumps ${ABICHECK_TMPDIR}/config.h
${ABICHECK_TMPDIR}/epan/* ${ABICHECK_TMPDIR}/crypt/*
${ABICHECK_TMPDIR}/dfilter/* ${ABICHECK_TMPDIR}/dissectors/*
${ABICHECK_TMPDIR}/ftypes/* ${ABICHECK_TMPDIR}/wmem/*
DEPENDS ${HEADERS}
${CRYPT_HEADERS} ${DFILTER_HEADERS} ${D_HEADERS}
${FTYPES_HEADERS} ${WMEM_HEADERS} epan)

View File

@ -125,12 +125,12 @@ set_target_properties(wiretap PROPERTIES FOLDER "DLLs")
ABICHECK(libwiretap)
add_custom_command(OUTPUT libwiretap.abi.tar.gz
COMMAND cp ../config.h abi-check-headers/
COMMAND cp ../config.h ${ABICHECK_TMPDIR}/
COMMAND abi-compliance-checker -l libwiretap -v1 ${FULL_SO_VERSION}
-relpath ${CMAKE_CURRENT_BINARY_DIR} -dump-abi abi-descriptor.xml
|| cat logs/libwiretap/[0-9]*/log.txt
COMMAND cp abi_dumps/libwiretap/libwiretap_* libwiretap.abi.tar.gz
COMMAND rm -rf abi-check-headers/* abi_dumps
|| cat ${CMAKE_CURRENT_BINARY_DIR}/logs/libwiretap/[0-9]*/log.txt
COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/abi_dumps/libwiretap/libwiretap_* ${CMAKE_CURRENT_BINARY_DIR}/libwiretap.abi.tar.gz
COMMAND rm -rf ${ABICHECK_TMPDIR}/* ${CMAKE_CURRENT_BINARY_DIR}/abi_dumps
DEPENDS ${HEADERS} wiretap)
target_link_libraries(wiretap ${wiretap_LIBS})

View File

@ -104,12 +104,12 @@ set_target_properties(wsutil PROPERTIES FOLDER "DLLs")
ABICHECK(libwsutil)
add_custom_command(OUTPUT libwsutil.abi.tar.gz
COMMAND cp ../config.h abi-check-headers/
COMMAND cp ../config.h ${ABICHECK_TMPDIR}/
COMMAND abi-compliance-checker -l libwsutil -v1 ${FULL_SO_VERSION}
-relpath ${CMAKE_CURRENT_BINARY_DIR} -dump-abi abi-descriptor.xml
|| cat logs/libwsutil/[0-9]*/log.txt
COMMAND cp abi_dumps/libwsutil/libwsutil_* libwsutil.abi.tar.gz
COMMAND rm -rf abi-check-headers/* abi_dumps
|| cat ${CMAKE_CURRENT_BINARY_DIR}/logs/libwsutil/[0-9]*/log.txt
COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/abi_dumps/libwsutil/libwsutil_* ${CMAKE_CURRENT_BINARY_DIR}/libwsutil.abi.tar.gz
COMMAND rm -rf ${ABICHECK_TMPDIR}/* ${CMAKE_CURRENT_BINARY_DIR}/abi_dumps
DEPENDS ${HEADERS} wsutil)
target_link_libraries(wsutil ${wsutil_LIBS})