From 3b7320ef4e2bd9f24b6dce72a8e8bf94c3695796 Mon Sep 17 00:00:00 2001 From: Johann Latocha Date: Wed, 2 Mar 2011 02:08:42 +0100 Subject: Win32 clean out --- CMakeLists.txt | 274 ++++++++++++++++++++++----------------------------------- 1 file changed, 103 insertions(+), 171 deletions(-) (limited to 'CMakeLists.txt') 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 " ) +SET( CPACK_PACKAGE_CONTACT "Johann Latocha " ) 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 ) -- cgit v1.2.3-55-g7522