summaryrefslogtreecommitdiffstats
path: root/src/input/CMakeLists.txt
diff options
context:
space:
mode:
authorFabian Schillinger2010-11-01 17:35:27 +0100
committerFabian Schillinger2010-11-01 17:35:27 +0100
commitea3fb17345e5f82db9f2e98a8062e95797700ace (patch)
tree1da0d1a8ec9455364386af78762d0f6fed187824 /src/input/CMakeLists.txt
parentProcess start/stop/view functionality (diff)
parent[PVSGUI] No X required for --help and --version (diff)
downloadpvs-ea3fb17345e5f82db9f2e98a8062e95797700ace.tar.gz
pvs-ea3fb17345e5f82db9f2e98a8062e95797700ace.tar.xz
pvs-ea3fb17345e5f82db9f2e98a8062e95797700ace.zip
Merge branch 'master' of openslx.org:pvs
Conflicts: CMakeLists.txt src/core/pvsConnectionManager.cpp src/pvs.cpp src/pvs.h
Diffstat (limited to 'src/input/CMakeLists.txt')
-rw-r--r--src/input/CMakeLists.txt114
1 files changed, 114 insertions, 0 deletions
diff --git a/src/input/CMakeLists.txt b/src/input/CMakeLists.txt
new file mode 100644
index 0000000..20fd531
--- /dev/null
+++ b/src/input/CMakeLists.txt
@@ -0,0 +1,114 @@
+include(${QT_USE_FILE})
+
+set(pvsinput_SRCS
+ inputEvent.cpp
+ )
+
+if(UNIX)
+ find_file(XINPUT2_HDR X11/extensions/XInput2.h)
+ if(XINPUT2_HDR)
+ set_property(SOURCE x11FakeKeyboardHandler.cpp
+ APPEND
+ PROPERTY COMPILE_DEFINITIONS HAVE_XINPUT2_H
+ )
+ endif()
+
+ set(pvsprivinputd_SRCS
+ pvsprivinputd.cpp
+ pvsPrivInputHandler.cpp
+ pvsCheckPrivileges.cpp
+ pvsSyslog.cpp
+ pvsPrivInputSignalHandler.cpp
+ rebootSystemHandler.cpp
+ killX11Handler.cpp
+ magicSysRqHandler.cpp
+ sayHelloHandler.cpp
+ inputEventHandler.cpp
+ )
+
+ set(pvsprivinputd_MOC_HDRS
+ pvsPrivInputHandler.h
+ pvsCheckPrivileges.h
+ pvsSyslog.h
+ pvsPrivInputSignalHandler.h
+ )
+
+ qt4_wrap_cpp(pvsprivinputd_MOC_SRCS
+ ${pvsprivinputd_MOC_HDRS}
+ )
+
+ add_executable(pvsprivinputd
+ ${pvsprivinputd_SRCS}
+ ${pvsprivinputd_MOC_SRCS}
+ )
+
+ set_property(SOURCE ${pvsprivinputd_SRCS} ${pvsprivinputd_MOC_SRCS}
+ APPEND
+ PROPERTY COMPILE_FLAGS " -I${QT_QTCORE_INCLUDE_DIR} -I${QT_QTDBUS_INCLUDE_DIR} -I${QT_QTNETWORK_INCLUDE_DIR}")
+
+ target_link_libraries(pvsprivinputd
+ pvsinput
+ ${QT_QTCORE_LIBRARY}
+ ${QT_QTDBUS_LIBRARY}
+ ${QT_QTNETWORK_LIBRARY}
+ )
+
+ list(APPEND pvsinput_SRCS
+ pvsPrivInputSocket.cpp
+ x11InputUtils.cpp
+ x11FakeKeyboardHandler.cpp
+ x11FakeMouseHandler.cpp
+ privilegedHandlerForwarder.cpp
+ )
+
+ # we need pkg-config to find out where to install the action file:
+ find_package(PkgConfig)
+ if(NOT PKG_CONFIG_FOUND)
+ # we will try to make a best effort and put our policy file into
+ # ${PREFIX}/share/polkit-1, but only if we can find
+ # the pkexec executable.
+ find_program(PKEXEC_LOCATION pkexec)
+ if(PKEXEC_LOCATION OR ENABLE_POLKIT)
+ set(POLKIT_FOUND ON)
+ set(POLKIT_PREFIX ${CMAKE_INSTALL_PREFIX})
+ set(POLKIT_POLICY_DIR ${POLKIT_PREFIX}/share/polkit-1/actions)
+ endif()
+ else()
+ pkg_check_modules(POLKIT "polkit-gobject-1")
+ if(POLKIT_FOUND)
+ execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} polkit-gobject-1 --variable=policydir
+ OUTPUT_VARIABLE POLKIT_POLICY_DIR
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ if(NOT POLKIT_POLICY_DIR)
+ set(POLKIT_FOUND OFF)
+ endif()
+ endif()
+ endif()
+
+ # now, arrange for policykit integration:
+ if(POLKIT_FOUND OR ENABLE_POLKIT)
+ if(NOT POLKIT_POLICY_DIR)
+ message(SEND_ERROR "PolicyKit integration is enabled, but cannot find PolicyKit's actions directory. Please set POLKIT_POLICY_DIR to the right value")
+ endif()
+
+ install(FILES org.openslx.pvs.input.policy
+ DESTINATION ${POLKIT_POLICY_DIR})
+ set_property(SOURCE ${pvsprivinputd_SRCS}
+ APPEND
+ PROPERTY COMPILE_DEFINITIONS HAVE_POLKIT)
+ message(STATUS "PolicyKit integration: enabled")
+ else()
+ message(STATUS "PolicyKit integration: disabled")
+ endif()
+
+ # Install a pvsprivinputd.conf template
+ install(FILES pvsprivinputd.conf
+ DESTINATION /etc
+ PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
+endif()
+
+add_library(
+ pvsinput
+ STATIC
+ ${pvsinput_SRCS}
+)