-macro(set_extcap_executable_properties _executable)
- set_target_properties(${_executable} PROPERTIES FOLDER "Executables/Extcaps")
-
- set(PROGLIST ${PROGLIST} ${_executable})
-
- if(WIN32)
- set_target_properties(${_executable} PROPERTIES
- LINK_FLAGS "${WS_LINK_FLAGS}"
- RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/run/extcap
- RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/run/Debug/extcap
- RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/run/Release/extcap
- RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL ${CMAKE_BINARY_DIR}/run/MinSizeRel/extcap
- RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO ${CMAKE_BINARY_DIR}/run/RelWithDebInfo/extcap
- )
- else()
- set_target_properties(${_executable} PROPERTIES
- LINK_FLAGS "${WS_LINK_FLAGS}"
- RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/run/extcap
- )
- if(ENABLE_APPLICATION_BUNDLE)
- set_target_properties(${_executable} PROPERTIES
- RUNTIME_OUTPUT_DIRECTORY run/Wireshark.app/Contents/MacOS/extcap
- )
- # Add a wrapper script which runs each executable from the
- # correct location. This adds convenience but makes debugging
- # more difficult.
- file(REMOVE ${CMAKE_BINARY_DIR}/run/${_executable})
- file(WRITE ${CMAKE_BINARY_DIR}/run/${_executable} "#!/bin/sh\n")
- file(APPEND ${CMAKE_BINARY_DIR}/run/${_executable} "exec ${CMAKE_BINARY_DIR}/run/Wireshark.app/Contents/MacOS/extcap/${_executable} \"\$\@\"\n")
- execute_process(COMMAND chmod a+x ${CMAKE_BINARY_DIR}/run/${_executable})
- endif()
- endif()
-endmacro()
-
-if(BUILD_wireshark_gtk AND GTK_FOUND)
- set(wireshark_gtk_LIBS
- gtkui
- ui
- capchild
- caputils
- ${GTK2_LIBRARIES}
- ${GTK3_LIBRARIES}
- ${GTHREAD2_LIBRARIES}
- wscodecs
- ${PORTAUDIO_LIBRARIES}
- ${LIBEPAN_LIBS}
- ${APPLE_APPLICATION_SERVICES_LIBRARY}
- ${APPLE_CORE_SERVICES_LIBRARY}
- ${APPLE_SYSTEM_CONFIGURATION_LIBRARY}
- ${NL_LIBRARIES}
- ${WIN_COMCTL32_LIBRARY}
- )
- # wireshark and wireshark-gtk share wireshark_FILES
-
- add_executable(wireshark-gtk WIN32 ${wireshark_FILES})
- add_dependencies(wireshark-gtk version)
- set(PROGLIST ${PROGLIST} wireshark-gtk)
- set_target_properties(wireshark-gtk PROPERTIES
- LINK_FLAGS "${WS_LINK_FLAGS}"
- FOLDER "Executables"
- )
- target_link_libraries(wireshark-gtk ${wireshark_gtk_LIBS})
- install(TARGETS wireshark-gtk RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-
- if(WIN32)
- add_custom_target(copy_gtk_dlls)
- set_target_properties(copy_gtk_dlls PROPERTIES FOLDER "Copy Tasks")
- add_custom_command(TARGET copy_gtk_dlls PRE_BUILD
- COMMAND ${CMAKE_COMMAND} -E make_directory "${_dll_output_dir}"
- )
-
- if(GTK2_FOUND)
- set(_gtk_dll_dir "${GTK2_DLL_DIR}")
- set(_gtk_etc_dir "${GTK2_ETC_DIR}")
- set(_gtk_dlls "${GTK2_DLLS}")
- set(_gtk_etc_dir "${GTK2_ETC_DIR}")
- else()
- set(_gtk_dll_dir "${GTK3_DLL_DIR}")
- set(_gtk_dlls "${GTK3_DLLS}")
- set(_gtk_etc_dir "${GTK3_ETC_DIR}")
- endif()
-
- foreach(_dll ${_gtk_dlls})
- add_custom_command(TARGET copy_gtk_dlls PRE_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy_if_different
- "${_gtk_dll_dir}/${_dll}" "${_dll_output_dir}"
- )
- endforeach(_dll)
-
- # /etc
- add_custom_command(TARGET copy_gtk_dlls PRE_BUILD
- COMMAND ${CMAKE_COMMAND} -E make_directory "${_dll_output_dir}/etc"
- )
- add_custom_command(TARGET copy_gtk_dlls PRE_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy_directory
- "${_gtk_etc_dir}" "${_dll_output_dir}/etc"
- )
-
- # XXX - Omitting ${GTK2_LIB_DIR}\loaders copying from Makefile.nmake
- if(GTK2_FOUND)
- # Engines
- set (_engines_output_dir "${_dll_output_dir}/lib/gtk-2.0/2.10.0/engines")
- add_custom_command(TARGET copy_gtk_dlls PRE_BUILD
- COMMAND ${CMAKE_COMMAND} -E make_directory "${_engines_output_dir}"
- )
- foreach(_dll ${GTK2_ENGINES_DLLS})
- add_custom_command(TARGET copy_gtk_dlls PRE_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy_if_different
- "${GTK2_ENGINES_DLL_DIR}/${_dll}" "${_engines_output_dir}"
- )
- endforeach(_dll)
-
- # Themes
- add_custom_command(TARGET copy_gtk_dlls PRE_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy_if_different
- "${GTK2_THEMES_DIR}/gtkrc" "${_dll_output_dir}/etc/gtk-2.0"
- )
-
- # Modules
- add_custom_command(TARGET copy_gtk_dlls PRE_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy_directory
- "${GTK2_LIB_DIR}" "${_dll_output_dir}/lib/gtk-2.0"
- )
- else()
- add_custom_command(TARGET copy_gtk_dlls PRE_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy_directory
- "${CMAKE_SOURCE_DIR}/ui/win32/settings.ini" "${_dll_output_dir}/etc"
- )
- endif()
-
- add_dependencies(wireshark-gtk copy_gtk_dlls copy_cli_dlls)
- endif(WIN32)
-endif()
-