123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- include_directories(${FLTK_INCLUDE_DIR})
- include_directories(${GETTEXT_INCLUDE_DIR})
-
- include_directories(${CMAKE_SOURCE_DIR}/common)
- set(VNCVIEWER_SOURCES
- 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)
- # 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)
- set(VNCVIEWER_SOURCES
- ${VNCVIEWER_SOURCES}
- ${CMAKE_CURRENT_BINARY_DIR}/vncviewer.rc)
- endif()
-
- if(WIN32)
- set(VNCVIEWER_SOURCES ${VNCVIEWER_SOURCES} Win32TouchHandler.cxx win32.c)
- elseif(APPLE)
- set(VNCVIEWER_SOURCES ${VNCVIEWER_SOURCES} cocoa.mm osx_to_qnum.c)
- else()
- set(VNCVIEWER_SOURCES ${VNCVIEWER_SOURCES} GestureHandler.cxx XInputTouchHandler.cxx xkb_to_qnum.c)
- endif()
-
- if(WIN32)
- set(VNCVIEWER_SOURCES ${VNCVIEWER_SOURCES} Surface_Win32.cxx)
- elseif(APPLE)
- set(VNCVIEWER_SOURCES ${VNCVIEWER_SOURCES} Surface_OSX.cxx)
- else()
- set(VNCVIEWER_SOURCES ${VNCVIEWER_SOURCES} Surface_X11.cxx)
- endif()
-
- if(WIN32 AND NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
- add_executable(vncviewer WIN32 ${VNCVIEWER_SOURCES})
- else()
- add_executable(vncviewer ${VNCVIEWER_SOURCES})
- 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})
- 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)
-
- foreach(res 16 22 24 32 48)
- 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()
|