123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- include_directories(${FLTK_INCLUDE_DIR})
- include_directories(${GETTEXT_INCLUDE_DIR})
-
- include_directories(${CMAKE_SOURCE_DIR}/common)
-
- add_executable(vncviewer
- menukey.cxx
- BaseTouchHandler.cxx
- CConn.cxx
- DesktopWindow.cxx
- EmulateMB.cxx
- UserDialog.cxx
- ServerDialog.cxx
- Surface.cxx
- OptionsDialog.cxx
- PlatformPixelBuffer.cxx
- Viewport.cxx
- parameters.cxx
- keysym2ucs.c
- touch.cxx
- MonitorArrangement.cxx
- MonitorIndicesParameter.cxx
- vncviewer.cxx)
-
- if(WIN32 AND NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
- set_target_properties(vncviewer PROPERTIES WIN32_EXECUTABLE TRUE)
- endif()
-
- if(WIN32)
- # Since vncviewer.rc is generated, local includes will be looking
- # in the wrong directory. We need to help it out.
- include_directories(${CMAKE_CURRENT_SOURCE_DIR})
- configure_file(vncviewer.rc.in vncviewer.rc)
- target_sources(vncviewer PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/vncviewer.rc)
- endif()
-
- if(WIN32)
- target_sources(vncviewer PRIVATE Win32TouchHandler.cxx win32.c)
- elseif(APPLE)
- target_sources(vncviewer PRIVATE cocoa.mm osx_to_qnum.c)
- else()
- target_sources(vncviewer PRIVATE GestureHandler.cxx XInputTouchHandler.cxx xkb_to_qnum.c)
- endif()
-
- if(WIN32)
- target_sources(vncviewer PRIVATE Surface_Win32.cxx)
- elseif(APPLE)
- target_sources(vncviewer PRIVATE Surface_OSX.cxx)
- else()
- target_sources(vncviewer PRIVATE Surface_X11.cxx)
- endif()
-
- target_link_libraries(vncviewer rfb network rdr os ${FLTK_LIBRARIES} ${GETTEXT_LIBRARIES})
-
- if(WIN32)
- target_link_libraries(vncviewer msimg32)
- elseif(APPLE)
- target_link_libraries(vncviewer "-framework Cocoa")
- target_link_libraries(vncviewer "-framework Carbon")
- target_link_libraries(vncviewer "-framework IOKit")
- else()
- target_link_libraries(vncviewer ${X11_Xi_LIB})
-
- if(X11_Xrandr_LIB)
- add_definitions(-DHAVE_XRANDR)
- target_link_libraries(vncviewer ${X11_Xrandr_LIB})
- endif()
- endif()
-
- install(TARGETS vncviewer DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})
- if(UNIX)
- install(FILES vncviewer.man DESTINATION ${CMAKE_INSTALL_FULL_MANDIR}/man1 RENAME vncviewer.1)
-
- configure_file(vncviewer.desktop.in.in vncviewer.desktop.in)
- find_program(INTLTOOL_MERGE_EXECUTABLE intltool-merge)
- if("${GETTEXT_VERSION_STRING}" VERSION_GREATER 0.18.99)
- add_custom_command(OUTPUT vncviewer.desktop
- COMMAND ${GETTEXT_MSGFMT_EXECUTABLE}
- --desktop --template vncviewer.desktop.in
- -d ${CMAKE_SOURCE_DIR}/po -o vncviewer.desktop
- DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/vncviewer.desktop.in
- )
- elseif(INTLTOOL_MERGE_EXECUTABLE)
- add_custom_command(OUTPUT vncviewer.desktop
- COMMAND sed -e 's/^Name/_Name/'
- -e 's/^GenericName/_GenericName/'
- -e 's/^Comment/_Comment/'
- vncviewer.desktop.in > vncviewer.desktop.intl
- COMMAND ${INTLTOOL_MERGE_EXECUTABLE}
- -d ${CMAKE_SOURCE_DIR}/po
- vncviewer.desktop.intl vncviewer.desktop
- DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/vncviewer.desktop.in
- )
- else()
- add_custom_command(OUTPUT vncviewer.desktop
- COMMAND cp vncviewer.desktop.in vncviewer.desktop
- DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/vncviewer.desktop.in
- )
- endif()
- add_custom_target(desktop ALL DEPENDS vncviewer.desktop)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/vncviewer.desktop DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/applications)
-
- if("${GETTEXT_VERSION_STRING}" VERSION_GREATER 0.19.6)
- add_custom_command(OUTPUT org.tigervnc.vncviewer.metainfo.xml
- COMMAND ${GETTEXT_MSGFMT_EXECUTABLE}
- --xml --template ${CMAKE_CURRENT_SOURCE_DIR}/org.tigervnc.vncviewer.metainfo.xml.in
- -d ${CMAKE_SOURCE_DIR}/po -o org.tigervnc.vncviewer.metainfo.xml
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/org.tigervnc.vncviewer.metainfo.xml.in
- )
- elseif(INTLTOOL_MERGE_EXECUTABLE)
- add_custom_command(OUTPUT org.tigervnc.vncviewer.metainfo.xml
- COMMAND sed -e 's@<name>@<_name>@\;s@</name>@</_name>@'
- -e 's@<summary>@<_summary>@\;s@</summary>@</_summary>@'
- -e 's@<caption>@<_caption>@\;s@</caption>@</_caption>@'
- -e 's@<p>@<_p>@g\;s@</p>@</_p>@g'
- ${CMAKE_CURRENT_SOURCE_DIR}/org.tigervnc.vncviewer.metainfo.xml.in > org.tigervnc.vncviewer.metainfo.xml.intl
- COMMAND ${INTLTOOL_MERGE_EXECUTABLE}
- -x ${CMAKE_SOURCE_DIR}/po
- org.tigervnc.vncviewer.metainfo.xml.intl org.tigervnc.vncviewer.metainfo.xml
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/org.tigervnc.vncviewer.metainfo.xml.in
- )
- else()
- add_custom_command(OUTPUT org.tigervnc.vncviewer.metainfo.xml
- COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/org.tigervnc.vncviewer.metainfo.xml.in org.tigervnc.vncviewer.metainfo.xml
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/org.tigervnc.vncviewer.metainfo.xml.in
- )
- endif()
- add_custom_target(appstream ALL DEPENDS org.tigervnc.vncviewer.metainfo.xml)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.tigervnc.vncviewer.metainfo.xml DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/metainfo)
-
- foreach(res 16 22 24 32 48 64 128)
- install(FILES ../media/icons/tigervnc_${res}.png DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/icons/hicolor/${res}x${res}/apps RENAME tigervnc.png)
- endforeach()
- install(FILES ../media/icons/tigervnc.svg DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/icons/hicolor/scalable/apps)
- endif()
|