diff options
author | Gerald Combs <gerald@wireshark.org> | 2014-10-10 08:32:51 -0700 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2014-10-10 16:48:36 +0000 |
commit | 98d77e2b152f322b561027defd4015fe1d340286 (patch) | |
tree | 18a64bef2b3ebff8e96914babd842737de8b2c57 /CMakeLists.txt | |
parent | 23e78cd6bda4758d4f54e0cf3b9c79bb6bcb1f6e (diff) |
CMake: Bundle the "share" directory files and directories.
Work around a CMake bug using file globbing.
Change-Id: I67dc8268154e05834e5d4e7d8f22c6eb25b24c1f
Reviewed-on: https://code.wireshark.org/review/4595
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 104 |
1 files changed, 75 insertions, 29 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 260e6b79ae..ad51c8f006 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1058,6 +1058,26 @@ set(INSTALL_FILES docbook/ws.css ) +set(MAN1_FILES + ${CMAKE_BINARY_DIR}/capinfos.1 + ${CMAKE_BINARY_DIR}/captype.1 + ${CMAKE_BINARY_DIR}/dftest.1 + ${CMAKE_BINARY_DIR}/dumpcap.1 + ${CMAKE_BINARY_DIR}/editcap.1 + ${CMAKE_BINARY_DIR}/idl2wrs.1 + ${CMAKE_BINARY_DIR}/mergecap.1 + ${CMAKE_BINARY_DIR}/randpkt.1 + ${CMAKE_BINARY_DIR}/rawshark.1 + ${CMAKE_BINARY_DIR}/reordercap.1 + ${CMAKE_BINARY_DIR}/text2pcap.1 + ${CMAKE_BINARY_DIR}/tshark.1 + ${CMAKE_BINARY_DIR}/wireshark.1 +) + +set(MAN4_FILES + ${CMAKE_BINARY_DIR}/wireshark-filter.4 +) + set(LIBEPAN_LIBS # @NSL_LIBS@ # -lnsl # @SOCKET_LIBS@ # -lsocket @@ -1116,7 +1136,51 @@ if(ENABLE_APPLICATION_BUNDLE) MACOSX_PACKAGE_LOCATION Resources ) - set(EXTRA_BUNDLE_FILES ${BUNDLE_CONTENTS_FILES} ${BUNDLE_RESOURCE_FILES}) + # Wireshark.app/Contents/Resources/share/man/man1 + set(BUNDLE_RESOURCE_SHARE_MAN1_FILES ${MAN1_FILES}) + set_source_files_properties(${BUNDLE_RESOURCE_SHARE_MAN1_FILES} PROPERTIES + MACOSX_PACKAGE_LOCATION Resources/share/man/man1 + ) + + # Wireshark.app/Contents/Resources/share/man/man1 + set(BUNDLE_RESOURCE_SHARE_MAN4_FILES ${MAN4_FILES}) + set_source_files_properties(${BUNDLE_RESOURCE_SHARE_MAN4_FILES} PROPERTIES + MACOSX_PACKAGE_LOCATION Resources/share/man/man4 + ) + + # Wireshark.app/Contents/Resources/share/wireshark + set(BUNDLE_RESOURCE_SHARE_WIRESHARK_FILES + ${INSTALL_FILES} + ) + set_source_files_properties(${BUNDLE_RESOURCE_SHARE_WIRESHARK_FILES} PROPERTIES + MACOSX_PACKAGE_LOCATION Resources/share/wireshark + ) + + # Wireshark.app/Contents/Resources/share/wireshark/*/* + # This is a bit messy but copying directories using + # MACOSX_PACKAGE_LOCATION is currently broken: + # http://public.kitware.com/Bug/view.php?id=13784 + # We also assume INSTALL_DIRS are all one level deep + set(BUNDLE_RESOURCE_SHARE_WIRESHARK_SUBIDR_FILES) + foreach (_subdir ${INSTALL_DIRS}) + file(GLOB _subdir_files RELATIVE ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/${_subdir}/*) + set(BUNDLE_RESOURCE_SHARE_WIRESHARK_SUBIDR_FILES + ${BUNDLE_RESOURCE_SHARE_WIRESHARK_SUBIDR_FILES} + ${_subdir_files} + ) + set_source_files_properties(${_subdir_files} PROPERTIES + MACOSX_PACKAGE_LOCATION Resources/share/wireshark/${_subdir} + ) + endforeach() + + set(EXTRA_BUNDLE_FILES + ${BUNDLE_CONTENTS_FILES} + ${BUNDLE_RESOURCE_FILES} + ${BUNDLE_RESOURCE_SHARE_MAN1_FILES} + ${BUNDLE_RESOURCE_SHARE_MAN4_FILES} + ${BUNDLE_RESOURCE_SHARE_WIRESHARK_FILES} + ${BUNDLE_RESOURCE_SHARE_WIRESHARK_SUBIDR_FILES} + ) else() set(EXTRA_BUNDLE_FILES) endif() @@ -1163,14 +1227,16 @@ if(BUILD_wireshark AND QT_FOUND) BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR} ) - # Map for endpoints dialog - ADD_CUSTOM_COMMAND( - TARGET wireshark - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${PROJECT_SOURCE_DIR}/ipmap.html" - $<TARGET_FILE_DIR:wireshark> - ) + if(NOT ENABLE_APPLICATION_BUNDLE) + # Map for endpoints dialog + ADD_CUSTOM_COMMAND( + TARGET wireshark + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + "${PROJECT_SOURCE_DIR}/ipmap.html" + $<TARGET_FILE_DIR:wireshark> + ) + endif() endif() # Common properties for CLI executables @@ -1585,26 +1651,6 @@ add_custom_target( ) set_target_properties(auxiliary PROPERTIES FOLDER "Docs") -set(MAN1_FILES - ${CMAKE_BINARY_DIR}/capinfos.1 - ${CMAKE_BINARY_DIR}/captype.1 - ${CMAKE_BINARY_DIR}/dftest.1 - ${CMAKE_BINARY_DIR}/dumpcap.1 - ${CMAKE_BINARY_DIR}/editcap.1 - ${CMAKE_BINARY_DIR}/idl2wrs.1 - ${CMAKE_BINARY_DIR}/mergecap.1 - ${CMAKE_BINARY_DIR}/randpkt.1 - ${CMAKE_BINARY_DIR}/rawshark.1 - ${CMAKE_BINARY_DIR}/reordercap.1 - ${CMAKE_BINARY_DIR}/text2pcap.1 - ${CMAKE_BINARY_DIR}/tshark.1 - ${CMAKE_BINARY_DIR}/wireshark.1 -) - -set(MAN4_FILES - ${CMAKE_BINARY_DIR}/wireshark-filter.4 -) - set(CLEAN_FILES ${wireshark_FILES} ${tshark_FILES} |