Pierre Ossman | 5156d5e | 2011-03-09 09:42:34 +0000 | [diff] [blame] | 1 | include_directories(${FLTK_INCLUDE_DIR}) |
Pierre Ossman | b232b5f | 2011-04-28 14:38:04 +0000 | [diff] [blame] | 2 | include_directories(${GETTEXT_INCLUDE_DIR}) |
Pierre Ossman | 5156d5e | 2011-03-09 09:42:34 +0000 | [diff] [blame] | 3 | |
| 4 | include_directories(${CMAKE_SOURCE_DIR}/common) |
Pierre Ossman | f14bf33 | 2011-04-14 12:49:03 +0000 | [diff] [blame] | 5 | set(VNCVIEWER_SOURCES |
Martin Koegler | 498ef46 | 2011-09-04 07:04:43 +0000 | [diff] [blame] | 6 | menukey.cxx |
Pierre Ossman | 5156d5e | 2011-03-09 09:42:34 +0000 | [diff] [blame] | 7 | CConn.cxx |
| 8 | DesktopWindow.cxx |
| 9 | UserDialog.cxx |
Pierre Ossman | 561ff0c | 2011-05-13 14:04:59 +0000 | [diff] [blame] | 10 | ServerDialog.cxx |
Pierre Ossman | 403ac27 | 2017-01-02 17:00:41 +0100 | [diff] [blame] | 11 | Surface.cxx |
Pierre Ossman | d463b57 | 2011-05-16 12:04:43 +0000 | [diff] [blame] | 12 | OptionsDialog.cxx |
Pierre Ossman | ac13abe | 2014-02-07 14:46:26 +0100 | [diff] [blame] | 13 | PlatformPixelBuffer.cxx |
Pierre Ossman | d50b3d1 | 2011-04-15 07:46:56 +0000 | [diff] [blame] | 14 | Viewport.cxx |
Pierre Ossman | 5156d5e | 2011-03-09 09:42:34 +0000 | [diff] [blame] | 15 | parameters.cxx |
Pierre Ossman | d014d05 | 2011-03-09 13:28:12 +0000 | [diff] [blame] | 16 | keysym2ucs.c |
Pierre Ossman | 5156d5e | 2011-03-09 09:42:34 +0000 | [diff] [blame] | 17 | vncviewer.cxx) |
| 18 | |
Pierre Ossman | 407a5c3 | 2011-05-26 14:48:29 +0000 | [diff] [blame] | 19 | if(WIN32) |
Pierre Ossman | ca93776 | 2012-03-27 12:30:19 +0000 | [diff] [blame] | 20 | # Since vncviewer.rc is generated, local includes will be looking |
| 21 | # in the wrong directory. We need to help it out. |
| 22 | include_directories(${CMAKE_CURRENT_SOURCE_DIR}) |
| 23 | configure_file(vncviewer.rc.in vncviewer.rc) |
| 24 | set(VNCVIEWER_SOURCES |
| 25 | ${VNCVIEWER_SOURCES} |
| 26 | ${CMAKE_CURRENT_BINARY_DIR}/vncviewer.rc) |
Pierre Ossman | 407a5c3 | 2011-05-26 14:48:29 +0000 | [diff] [blame] | 27 | endif() |
| 28 | |
Pierre Ossman | ca93776 | 2012-03-27 12:30:19 +0000 | [diff] [blame] | 29 | if(WIN32) |
| 30 | set(VNCVIEWER_SOURCES ${VNCVIEWER_SOURCES} win32.c) |
| 31 | elseif(APPLE) |
Pierre Ossman | 0c15866 | 2017-07-13 15:54:11 +0200 | [diff] [blame] | 32 | set(VNCVIEWER_SOURCES ${VNCVIEWER_SOURCES} cocoa.mm osx_to_qnum.c) |
| 33 | else() |
| 34 | set(VNCVIEWER_SOURCES ${VNCVIEWER_SOURCES} xkb_to_qnum.c) |
Pierre Ossman | 407a5c3 | 2011-05-26 14:48:29 +0000 | [diff] [blame] | 35 | endif() |
| 36 | |
Pierre Ossman | b4cb876 | 2011-06-13 13:24:29 +0000 | [diff] [blame] | 37 | if(WIN32) |
Pierre Ossman | 403ac27 | 2017-01-02 17:00:41 +0100 | [diff] [blame] | 38 | set(VNCVIEWER_SOURCES ${VNCVIEWER_SOURCES} Surface_Win32.cxx) |
Pierre Ossman | c18753c | 2011-06-17 07:35:56 +0000 | [diff] [blame] | 39 | elseif(APPLE) |
Pierre Ossman | 403ac27 | 2017-01-02 17:00:41 +0100 | [diff] [blame] | 40 | set(VNCVIEWER_SOURCES ${VNCVIEWER_SOURCES} Surface_OSX.cxx) |
Pierre Ossman | c18753c | 2011-06-17 07:35:56 +0000 | [diff] [blame] | 41 | else() |
Pierre Ossman | 403ac27 | 2017-01-02 17:00:41 +0100 | [diff] [blame] | 42 | set(VNCVIEWER_SOURCES ${VNCVIEWER_SOURCES} Surface_X11.cxx) |
Pierre Ossman | 1350069 | 2011-06-13 11:23:08 +0000 | [diff] [blame] | 43 | endif() |
| 44 | |
Pierre Ossman | 4c69932 | 2014-07-21 16:22:43 +0200 | [diff] [blame] | 45 | if(WIN32 AND NOT CMAKE_BUILD_TYPE STREQUAL "Debug") |
DRC | c3a8517 | 2011-07-05 18:55:55 +0000 | [diff] [blame] | 46 | add_executable(vncviewer WIN32 ${VNCVIEWER_SOURCES}) |
| 47 | else() |
| 48 | add_executable(vncviewer ${VNCVIEWER_SOURCES}) |
| 49 | endif() |
Pierre Ossman | f14bf33 | 2011-04-14 12:49:03 +0000 | [diff] [blame] | 50 | |
Pierre Ossman | 4e7d05c | 2016-05-13 15:34:34 +0200 | [diff] [blame] | 51 | target_link_libraries(vncviewer rfb network rdr os ${FLTK_LIBRARIES} ${GETTEXT_LIBRARIES}) |
Peter Åstrand | 03327ae | 2011-04-19 12:31:44 +0000 | [diff] [blame] | 52 | |
Pierre Ossman | de6a580 | 2017-01-02 20:07:10 +0100 | [diff] [blame] | 53 | if(WIN32) |
| 54 | target_link_libraries(vncviewer msimg32) |
| 55 | endif() |
| 56 | |
Pierre Ossman | b27c1b2 | 2014-10-17 13:55:05 +0200 | [diff] [blame] | 57 | if(APPLE) |
Pierre Ossman | 2fa63f8 | 2016-12-05 15:26:21 +0100 | [diff] [blame] | 58 | target_link_libraries(vncviewer "-framework Cocoa") |
| 59 | target_link_libraries(vncviewer "-framework Carbon") |
| 60 | target_link_libraries(vncviewer "-framework IOKit") |
Pierre Ossman | b27c1b2 | 2014-10-17 13:55:05 +0200 | [diff] [blame] | 61 | endif() |
| 62 | |
Pierre Ossman | 448fd3a | 2012-03-27 10:28:18 +0000 | [diff] [blame] | 63 | install(TARGETS vncviewer DESTINATION ${BIN_DIR}) |
DRC | e66060d | 2011-06-25 03:02:10 +0000 | [diff] [blame] | 64 | if(UNIX) |
Pierre Ossman | 448fd3a | 2012-03-27 10:28:18 +0000 | [diff] [blame] | 65 | install(FILES vncviewer.man DESTINATION ${MAN_DIR}/man1 RENAME vncviewer.1) |
Pierre Ossman | 0f2d1f6 | 2017-07-21 14:07:15 +0200 | [diff] [blame] | 66 | |
Pierre Ossman | 86ff9fd | 2017-07-19 10:56:21 +0200 | [diff] [blame] | 67 | configure_file(vncviewer.desktop.in.in vncviewer.desktop.in) |
Pierre Ossman | 0f2d1f6 | 2017-07-21 14:07:15 +0200 | [diff] [blame] | 68 | find_program(INTLTOOL_MERGE_EXECUTABLE intltool-merge) |
Brian P. Hinz | 39c0784 | 2017-08-08 22:21:14 -0400 | [diff] [blame] | 69 | if("${GETTEXT_VERSION_STRING}" VERSION_GREATER 0.18.99) |
Pierre Ossman | 0f2d1f6 | 2017-07-21 14:07:15 +0200 | [diff] [blame] | 70 | add_custom_command(OUTPUT vncviewer.desktop |
| 71 | COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} |
| 72 | --desktop --template vncviewer.desktop.in |
| 73 | -d ${CMAKE_SOURCE_DIR}/po -o vncviewer.desktop |
| 74 | DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/vncviewer.desktop.in |
| 75 | ) |
| 76 | elseif(INTLTOOL_MERGE_EXECUTABLE) |
| 77 | add_custom_command(OUTPUT vncviewer.desktop |
| 78 | COMMAND sed -e 's/^Name/_Name/' |
| 79 | -e 's/^GenericName/_GenericName/' |
| 80 | -e 's/^Comment/_Comment/' |
| 81 | vncviewer.desktop.in > vncviewer.desktop.intl |
| 82 | COMMAND ${INTLTOOL_MERGE_EXECUTABLE} |
| 83 | -d ${CMAKE_SOURCE_DIR}/po |
| 84 | vncviewer.desktop.intl vncviewer.desktop |
| 85 | DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/vncviewer.desktop.in |
| 86 | ) |
| 87 | else() |
| 88 | add_custom_command(OUTPUT vncviewer.desktop |
| 89 | COMMAND cp vncviewer.desktop.in vncviewer.desktop |
| 90 | DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/vncviewer.desktop.in |
| 91 | ) |
| 92 | endif() |
Pierre Ossman | 86ff9fd | 2017-07-19 10:56:21 +0200 | [diff] [blame] | 93 | add_custom_target(desktop ALL DEPENDS vncviewer.desktop) |
Pierre Ossman | 3544999 | 2016-01-11 12:38:32 +0100 | [diff] [blame] | 94 | install(FILES ${CMAKE_CURRENT_BINARY_DIR}/vncviewer.desktop DESTINATION ${DATA_DIR}/applications) |
Pierre Ossman | 0f2d1f6 | 2017-07-21 14:07:15 +0200 | [diff] [blame] | 95 | |
Pierre Ossman | 3544999 | 2016-01-11 12:38:32 +0100 | [diff] [blame] | 96 | foreach(res 16 22 24 32 48) |
| 97 | install(FILES ../media/icons/tigervnc_${res}.png DESTINATION ${DATA_DIR}/icons/hicolor/${res}x${res}/apps RENAME tigervnc.png) |
| 98 | endforeach() |
| 99 | install(FILES ../media/icons/tigervnc.svg DESTINATION ${DATA_DIR}/icons/hicolor/scalable/apps) |
DRC | e66060d | 2011-06-25 03:02:10 +0000 | [diff] [blame] | 100 | endif() |