summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorJohann Latocha2011-03-02 02:08:42 +0100
committerJohann Latocha2011-03-02 02:08:42 +0100
commit3b7320ef4e2bd9f24b6dce72a8e8bf94c3695796 (patch)
tree99fdd6aa4c0073e747902486e703e1d738da8369 /CMakeLists.txt
parentfix cmake paths (diff)
downloadpvs-3b7320ef4e2bd9f24b6dce72a8e8bf94c3695796.tar.gz
pvs-3b7320ef4e2bd9f24b6dce72a8e8bf94c3695796.tar.xz
pvs-3b7320ef4e2bd9f24b6dce72a8e8bf94c3695796.zip
Win32 clean out
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt274
1 files changed, 103 insertions, 171 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 76d0d11..fccfb8b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,26 +2,23 @@
# General
################################################################################
-# set project's name
-PROJECT( pvs )
-
-# cmake min version
-CMAKE_MINIMUM_REQUIRED( VERSION 2.6.2 )
+PROJECT(pvs)
+CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0)
# set compiler optimizations for debug and release
SET(CMAKE_BUILD_TYPE Debug)
SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -Wall -Wunused -Wunreachable-code")
-SET(CMAKE_C_FLAGS_RELEASE "-O3 -march=native")
+SET(CMAKE_C_FLAGS_RELEASE "-O2")
SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -Wall")
-SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -DQT_NO_DEBUG_OUTPUT" )
+SET(CMAKE_CXX_FLAGS_RELEASE "-O2" )
# local cmake modules
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
# this command finds libraries and sets all required variables
-FIND_PACKAGE( Qt4 4.5.0 REQUIRED )
-FIND_PACKAGE( X11 REQUIRED )
-FIND_PACKAGE( VNC REQUIRED )
+FIND_PACKAGE(Qt4 4.5.0 REQUIRED)
+FIND_PACKAGE(X11 REQUIRED)
+FIND_PACKAGE(VNC REQUIRED)
# some includes
INCLUDE_DIRECTORIES(
@@ -41,25 +38,13 @@ ENDIF()
ADD_SUBDIRECTORY(src/input)
-IF(WIN32)
- SET(sysdep_suffix _Win32)
- INCLUDE_DIRECTORIES(
- /c/KDE4/tmp/LibVNCServer-0.9.7/
- )
-ELSEIF(UNIX)
- SET(sysdep_suffix _X11)
-ENDIF(WIN32)
-
-################################################################################
-# Build third-party libraries
-################################################################################
-ADD_SUBDIRECTORY(3rdparty/qtsingleapplication)
-
+SET(SYSDEP_SUFFIX _X11)
################################################################################
# Build third-party libraries
################################################################################
+ADD_SUBDIRECTORY(3rdparty/qtsingleapplication)
ADD_SUBDIRECTORY(3rdparty)
################################################################################
@@ -72,9 +57,8 @@ ADD_SUBDIRECTORY(src/net/mcast)
# Variables
################################################################################
-# with SET() command you can change variables or define new ones.
-# we define PVSMGR_SRCS variable that contains a list of all .cpp files
-SET( PVSMGR_SRCS
+# pvsmgr
+SET(PVSMGR_SRCS
src/pvsmgr.cpp
src/core/pvsClient.cpp
src/core/pvsConnectionManager.cpp
@@ -109,7 +93,7 @@ SET( PVSMGR_SRCS
)
# pvs
-SET( PVS_SRCS
+SET(PVS_SRCS
src/pvsDaemon.cpp
src/pvs.cpp
src/net/pvsMsg.cpp
@@ -118,7 +102,7 @@ SET( PVS_SRCS
src/net/pvsLocalhostCommunicator.cpp
src/util/util.cpp
src/util/consoleLogger.cpp
- src/util/clientGUIUtils${sysdep_suffix}.cpp
+ src/util/clientGUIUtils${SYSDEP_SUFFIX}.cpp
src/core/pvsChatClient.cpp
src/net/pvsServiceDiscovery.cpp
src/net/pvsDiscoveredServer.cpp
@@ -129,7 +113,7 @@ SET( PVS_SRCS
)
# pvsgui
-SET( PVSGUI_SRCS
+SET(PVSGUI_SRCS
${QTSINGLEAPPLICATION_SRCS}
src/pvsgui.cpp
src/gui/clientConfigDialog.cpp
@@ -149,8 +133,8 @@ SET( PVSGUI_SRCS
# Qt
################################################################################
-# some .ui files (Qt)
-SET( PVSMGR_UIS
+# .ui files
+SET(PVSMGR_UIS
src/gui/ui/mainwindow.ui
src/gui/ui/profileDialog.ui
src/gui/ui/dialog.ui
@@ -165,7 +149,7 @@ SET( PVSMGR_UIS
src/gui/ui/multicastConfigDialog.ui
)
-SET( PVSMGRTOUCH_UIS
+SET(PVSMGRTOUCH_UIS
src/gui/ui/mainwindowtouch.ui
src/gui/ui/profileDialog.ui
src/gui/ui/dialog.ui
@@ -176,7 +160,7 @@ SET( PVSMGRTOUCH_UIS
src/gui/ui/multicastConfigDialog.ui
)
-SET( PVSGUI_UIS
+SET(PVSGUI_UIS
src/gui/ui/clientConfigDialog.ui
src/gui/ui/clientFileSendDialog.ui
src/gui/ui/clientFileReceiveDialog.ui
@@ -187,21 +171,13 @@ SET( PVSGUI_UIS
src/gui/ui/clientNicklistDialog.ui
)
-# resource file (Qt)
-SET( PVSMGR_RCS
- pvsmgr.qrc
-)
-
-SET( PVS_RCS
- pvs.qrc
-)
+# .qrc files
+SET(PVSMGR_RCS pvsmgr.qrc)
+SET(PVS_RCS pvs.qrc)
+SET(PVSGUI_RCS pvsgui.qrc)
-SET( PVSGUI_RCS
- pvsgui.qrc
-)
-
-# includes all header files that should be treated with moc (Qt)
-SET( PVSMGR_MOC_HDRS
+# includes all header files that should be treated with moc
+SET(PVSMGR_MOC_HDRS
src/gui/mainWindow.h
src/gui/connectionWindow.h
src/gui/frame.h
@@ -227,7 +203,7 @@ SET( PVSMGR_MOC_HDRS
src/gui/multicastConfigDialog.h
)
-SET( PVS_MOC_HDRS
+SET(PVS_MOC_HDRS
src/pvs.h
src/net/pvsLocalhostCommunicator.h
src/net/pvsServerConnection.h
@@ -237,7 +213,7 @@ SET( PVS_MOC_HDRS
src/net/pvsIncomingMulticastTransfer.h
)
-SET( PVSGUI_MOC_HDRS
+SET(PVSGUI_MOC_HDRS
${QTSINGLEAPPLICATION_MOC_HDRS}
src/pvsgui.h
src/gui/clientConfigDialog.h
@@ -251,8 +227,8 @@ SET( PVSGUI_MOC_HDRS
src/net/pvsNetworkInterfaceListModel.h
)
-# i18n (Qt)
-SET( PVSMGR_TSS
+# i18n
+SET(PVSMGR_TSS
i18n/pvsmgr_de_DE.ts
i18n/pvsmgr_fr_FR.ts
i18n/pvsmgr_es_MX.ts
@@ -260,7 +236,7 @@ SET( PVSMGR_TSS
i18n/pvsmgr_pl_PL.ts
)
-SET( PVS_TSS
+SET(PVS_TSS
i18n/pvs_de_DE.ts
i18n/pvs_fr_FR.ts
i18n/pvs_es_MX.ts
@@ -268,7 +244,7 @@ SET( PVS_TSS
i18n/pvs_pl_PL.ts
)
-SET( PVSGUI_TSS
+SET(PVSGUI_TSS
i18n/pvsgui_de_DE.ts
i18n/pvsgui_fr_FR.ts
i18n/pvsgui_es_MX.ts
@@ -277,52 +253,47 @@ SET( PVSGUI_TSS
)
-# by default only QtCore and QtGui modules are enabled
-# other modules must be enabled like this:
-SET( QT_USE_QTDBUS TRUE )
-SET( QT_USE_QTNETWORK TRUE )
+# include Qt modules
+SET(QT_USE_QTDBUS TRUE)
+SET(QT_USE_QTNETWORK TRUE)
# add some useful macros and variables
# (QT_USE_FILE is a variable defined by FIND_PACKAGE( Qt4 ) that contains
# a path to CMake script)
-INCLUDE( ${QT_USE_FILE} )
+INCLUDE(${QT_USE_FILE})
-# this command will generate rules that will run rcc on all files from
-# PVSCLIENTGUI_RCS. in result PVSCLIENTGUI_RC_SRCS variable will contain paths
-# to files produced by rcc
-QT4_ADD_RESOURCES( PVSMGR_RC_SRCS ${PVSMGR_RCS} )
-QT4_ADD_RESOURCES( PVS_RC_SRCS ${PVS_RCS} )
-QT4_ADD_RESOURCES( PVSGUI_RC_SRCS ${PVSGUI_RCS} )
+# this will run rcc on .qrc files
+QT4_ADD_RESOURCES(PVSMGR_RC_SRCS ${PVSMGR_RCS})
+QT4_ADD_RESOURCES(PVS_RC_SRCS ${PVS_RCS})
+QT4_ADD_RESOURCES(PVSGUI_RC_SRCS ${PVSGUI_RCS})
-# this will run uic on .ui files:
-QT4_WRAP_UI( PVSMGR_UI_HDRS ${PVSMGR_UIS} )
-QT4_WRAP_UI( PVSMGRTOUCH_UI_HDRS ${PVSMGRTOUCH_UIS} )
-QT4_WRAP_UI( PVSGUI_UI_HDRS ${PVSGUI_UIS} )
+# this will run uic on .ui files
+QT4_WRAP_UI(PVSMGR_UI_HDRS ${PVSMGR_UIS})
+QT4_WRAP_UI(PVSMGRTOUCH_UI_HDRS ${PVSMGRTOUCH_UIS})
+QT4_WRAP_UI(PVSGUI_UI_HDRS ${PVSGUI_UIS})
-# this will run moc:
-QT4_WRAP_CPP( PVSMGR_MOC_SRCS ${PVSMGR_MOC_HDRS} )
-QT4_WRAP_CPP( PVS_MOC_SRCS ${PVS_MOC_HDRS} )
-QT4_WRAP_CPP( PVSGUI_MOC_SRCS ${PVSGUI_MOC_HDRS} )
+# this will run moc
+QT4_WRAP_CPP(PVSMGR_MOC_SRCS ${PVSMGR_MOC_HDRS})
+QT4_WRAP_CPP(PVS_MOC_SRCS ${PVS_MOC_HDRS})
+QT4_WRAP_CPP(PVSGUI_MOC_SRCS ${PVSGUI_MOC_HDRS})
# run qdbuscpp2xml
-QT4_GENERATE_DBUS_INTERFACE( src/pvs.h org.openslx.pvs.xml )
+QT4_GENERATE_DBUS_INTERFACE(src/pvs.h org.openslx.pvs.xml)
# run qdbusxml2cpp
-QT4_ADD_DBUS_ADAPTOR( PVS_SRCS ${CMAKE_BINARY_DIR}/org.openslx.pvs.xml src/pvs.h PVS )
-QT4_ADD_DBUS_INTERFACE( PVSGUI_SRCS ${CMAKE_BINARY_DIR}/org.openslx.pvs.xml pvsinterface )
+QT4_ADD_DBUS_ADAPTOR(PVS_SRCS ${CMAKE_BINARY_DIR}/org.openslx.pvs.xml src/pvs.h PVS)
+QT4_ADD_DBUS_INTERFACE(PVSGUI_SRCS ${CMAKE_BINARY_DIR}/org.openslx.pvs.xml pvsinterface)
# i18n, run lupdate and lrelease)
-#QT4_CREATE_TRANSLATION( PVSMGR_QMS ${PVSMGR_SRCS} ${PVSMGR_UI_HDRS} ${PVSMGR_TSS} )
-#QT4_CREATE_TRANSLATION( PVS_QMS ${PVS_SRCS} ${PVS_TSS} )
-#QT4_CREATE_TRANSLATION( PVSGUI_QMS ${PVSGUI_SRCS} ${PVSGUI_UI_HDRS} ${PVSGUI_TSS} )
+#QT4_CREATE_TRANSLATION(PVSMGR_QMS ${PVSMGR_SRCS} ${PVSMGR_UI_HDRS} ${PVSMGR_TSS})
+#QT4_CREATE_TRANSLATION(PVS_QMS ${PVS_SRCS} ${PVS_TSS})
+#QT4_CREATE_TRANSLATION(PVSGUI_QMS ${PVSGUI_SRCS} ${PVSGUI_UI_HDRS} ${PVSGUI_TSS})
################################################################################
# Build
################################################################################
-## here we instruct CMake to build our executable from all of the source files
-if(UNIX)
-ADD_EXECUTABLE( pvsmgr
+ADD_EXECUTABLE(pvsmgr
${PVSMGR_SRCS}
${PVSMGR_MOC_SRCS}
${PVSMGR_UI_HDRS}
@@ -330,23 +301,22 @@ ADD_EXECUTABLE( pvsmgr
${PVSMGR_QMS}
)
-ADD_EXECUTABLE( pvsmgrtouch
+ADD_EXECUTABLE(pvsmgrtouch
${PVSMGR_SRCS}
${PVSMGR_MOC_SRCS}
${PVSMGRTOUCH_UI_HDRS}
${PVSMGR_RC_SRCS}
${PVSMGR_QMS}
)
-ENDIF(UNIX)
-ADD_EXECUTABLE( pvs
+ADD_EXECUTABLE(pvs
${PVS_SRCS}
${PVS_MOC_SRCS}
${PVS_RC_SRCS}
${PVS_QMS}
)
-ADD_EXECUTABLE( pvsgui
+ADD_EXECUTABLE(pvsgui
${PVSGUI_SRCS}
${PVSGUI_MOC_SRCS}
${PVSGUI_UI_HDRS}
@@ -354,99 +324,61 @@ ADD_EXECUTABLE( pvsgui
${PVSGUI_QMS}
)
-# last thing we have to do is to tell CMake what libraries our executable needs,
-# luckily FIND_PACKAGE prepared variables for us:
-
-IF(WIN32)
- TARGET_LINK_LIBRARIES( pvsmgr
-
- )
-ELSEIF(UNIX)
-TARGET_LINK_LIBRARIES( pvsmgr
- ${QT_LIBRARIES}
- ${VNC_LIBRARIES}
- ${X11_LIBRARIES}
- pvsmcast
- pvsinput
- )
-ENDIF(WIN32)
-
-IF(WIN32)
- TARGET_LINK_LIBRARIES( pvsmgrtouch
-
- )
-ELSEIF(UNIX)
- TARGET_LINK_LIBRARIES( pvsmgrtouch
- ${QT_LIBRARIES}
- ${VNC_LIBRARIES}
- ${X11_LIBRARIES}
- pvsmcast
- pvsinput
- )
-ENDIF(WIN32)
-
-IF(WIN32)
- TARGET_LINK_LIBRARIES( pvs
- ${QT_LIBRARIES}
- ${VNC_LIBRARIES}
- advapi32
- ws2_32
- )
-ELSEIF(UNIX)
- TARGET_LINK_LIBRARIES( pvs
- ${QT_LIBRARIES}
- ${VNC_LIBRARIES}
- ${X11_LIBRARIES}
- ${X11_XTest_LIB}
- ${X11_Xinput_LIB}
- pvsmcast
- pvsinput
- )
-ENDIF(WIN32)
-
-IF(WIN32)
- TARGET_LINK_LIBRARIES( pvsgui
- ${QT_LIBRARIES}
- ${VNC_LIBRARIES}
- #advapi32
- ws2_32
- )
-ELSEIF(UNIX)
- TARGET_LINK_LIBRARIES( pvsgui
- ${QT_LIBRARIES}
- ${VNC_LIBRARIES}
- )
-ENDIF(WIN32)
-
-IF(UNIX)
+# link
+TARGET_LINK_LIBRARIES(pvsmgr
+ ${QT_LIBRARIES}
+ ${VNC_LIBRARIES}
+ ${X11_LIBRARIES}
+ pvsmcast
+ pvsinput
+)
+
+TARGET_LINK_LIBRARIES(pvsmgrtouch
+ ${QT_LIBRARIES}
+ ${VNC_LIBRARIES}
+ ${X11_LIBRARIES}
+ pvsmcast
+ pvsinput
+)
+
+TARGET_LINK_LIBRARIES(pvs
+ ${QT_LIBRARIES}
+ ${VNC_LIBRARIES}
+ ${X11_LIBRARIES}
+ ${X11_XTest_LIB}
+ ${X11_Xinput_LIB}
+ pvsmcast
+ pvsinput
+)
+
+TARGET_LINK_LIBRARIES(pvsgui
+ ${QT_LIBRARIES}
+ ${VNC_LIBRARIES}
+)
+
SET_PROPERTY(TARGET pvsmgrtouch PROPERTY COMPILE_DEFINITIONS MAINWINDOW_USE_TOUCHGUI)
SET_PROPERTY(TARGET pvsmgr PROPERTY COMPILE_DEFINITIONS MAINWINDOW_USE_NORMALGUI)
-ENDIF(UNIX)
-
-# add install target to our makefile
-IF(WIN32)
- INSTALL( TARGETS pvs pvsgui RUNTIME DESTINATION bin )
-ELSEIF(UNIX)
- CONFIGURE_FILE( org.openslx.pvs.service ${CMAKE_BINARY_DIR}/org.openslx.pvs.service )
- INSTALL( TARGETS pvsmgr pvs pvsgui pvsmgrtouch RUNTIME DESTINATION bin )
- INSTALL( PROGRAMS misc/pvs-vncsrv DESTINATION bin)
- INSTALL( FILES ${CMAKE_BINARY_DIR}/org.openslx.pvs.service DESTINATION share/dbus-1/services )
- INSTALL( FILES misc/pvs.conf misc/pvsgui.conf misc/pvsmgr.conf DESTINATION /etc/openslx )
- INSTALL( FILES misc/pvsgui.desktop DESTINATION /etc/xdg/autostart )
-ENDIF(WIN32)
-
-# add uninstall target to our makefile
+
+# install
+CONFIGURE_FILE(org.openslx.pvs.service ${CMAKE_BINARY_DIR}/org.openslx.pvs.service)
+INSTALL(TARGETS pvsmgr pvs pvsgui pvsmgrtouch RUNTIME DESTINATION bin)
+INSTALL(PROGRAMS misc/pvs-vncsrv DESTINATION bin)
+INSTALL(FILES ${CMAKE_BINARY_DIR}/org.openslx.pvs.service DESTINATION share/dbus-1/services)
+INSTALL(FILES misc/pvs.conf misc/pvsgui.conf misc/pvsmgr.conf DESTINATION /etc/openslx)
+INSTALL(FILES misc/pvsgui.desktop DESTINATION /etc/xdg/autostart)
+
+# uninstall
CONFIGURE_FILE(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/Uninstall.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/cmake/Uninstall.cmake"
IMMEDIATE @ONLY
)
-ADD_CUSTOM_TARGET( uninstall
+ADD_CUSTOM_TARGET(uninstall
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake/Uninstall.cmake"
)
-# add package target to our makefile
-SET( CPACK_GENERATOR "DEB;RPM" )
+# package
+SET( CPACK_GENERATOR "DEB" )
SET( CPACK_SET_DESTDIR "ON" )
SET( CPACK_PACKAGE_NAME "pvs" )
SET( CPACK_PACKAGE_VERSION_MAJOR "3" )
@@ -454,10 +386,10 @@ SET( CPACK_PACKAGE_VERSION_MINOR "1" )
SET( CPACK_PACKAGE_VERSION_PATCH "1" )
SET( CPACK_PACKAGE_DESCRIPTION_SUMMARY "Pool Video Switch" )
SET( CPACK_PACKAGE_DESCRIPTION "")
-SET( CPACK_PACKAGE_CONTACT "Simon Wittenberg <wittenb@informatik.uni-freiburg.de>" )
+SET( CPACK_PACKAGE_CONTACT "Johann Latocha <johann@latocha.de>" )
SET( CPACK_DEBIAN_PACKAGE_DEPENDS "libvncserver0 (>= 0.9.3.dfsg.1-2), libqtgui4 (>= 4:4.5.3-4), libqt4-dbus (>= 4:4.5.3-4), libqt4-network (>= 4:4.5.3-4)" )
SET( CPACK_DEBIAN_PACKAGE_ARCHITECTURE "i386" )
SET( CPACK_DEBIAN_PACKAGE_SECTION "Network" )
SET( CPACK_DEBIAN_PACKAGE_PRIORITY "optional" )
SET( CPACK_DEBIAN_PACKAGE_RECOMMENDS "x11vnc (>= 0.9.9-1)" )
-INCLUDE( CPack ) # must be last!
+INCLUDE( CPack )