summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorSimon Rettberg2022-10-30 12:03:43 +0100
committerSimon Rettberg2022-10-30 12:03:43 +0100
commit9bacddf36631572b610f042e17b5ee631dfebbca (patch)
treeb7537d8a5293f28e7d02d41545f609bfa10921c1 /CMakeLists.txt
parentFix Qt fix (diff)
downloadpvs2-9bacddf36631572b610f042e17b5ee631dfebbca.tar.gz
pvs2-9bacddf36631572b610f042e17b5ee631dfebbca.tar.xz
pvs2-9bacddf36631572b610f042e17b5ee631dfebbca.zip
Modernize cmake file and project structure a bit
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt118
1 files changed, 24 insertions, 94 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5e1b550..69efa33 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -17,6 +17,10 @@ SET(CMAKE_CXX_STANDARD 11)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11 ${EXTRA_C_FLAGS}")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 ${EXTRA_CXX_FLAGS}")
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
# local cmake modules
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
@@ -26,14 +30,13 @@ FIND_PACKAGE(X11 REQUIRED)
FIND_PACKAGE(VNC REQUIRED)
SET(CMAKE_INCLUDE_CURRENT_DIR ON)
-SET(CMAKE_AUTOMOC ON)
# some includes
-INCLUDE_DIRECTORIES(
- ${CMAKE_CURRENT_SOURCE_DIR}
- ${CMAKE_CURRENT_BINARY_DIR}
- ${X11_INCLUDE_DIR}
-)
+#INCLUDE_DIRECTORIES(
+# ${CMAKE_CURRENT_SOURCE_DIR}
+# ${CMAKE_CURRENT_BINARY_DIR}
+# ${X11_INCLUDE_DIR}
+#)
IF(X11_Xscreensaver_FOUND)
ADD_DEFINITIONS(-DX11_Xscreensaver_FOUND)
@@ -78,20 +81,27 @@ FILE(GLOB PVSCLIENT_SRCS
################################################################################
# .ui files
-FILE(GLOB PVSMGR_UIS
- gui/server_normal/*.ui
+FILE(GLOB_RECURSE PVSMGR_UIS
+ src/server/*.ui
)
-FILE(GLOB PVSCLIENT_UIS
- gui/client/*.ui
+FILE(GLOB_RECURSE PVSCLIENT_UIS
+ src/client/*.ui
)
# .qrc files
+# Copy these to build dir since the paths inside are relative, and this is where the translations end up
+configure_file(res/pvsmgr_ts.qrc ${CMAKE_CURRENT_BINARY_DIR} COPYONLY)
+configure_file(res/pvsclient_ts.qrc ${CMAKE_CURRENT_BINARY_DIR} COPYONLY)
+
FILE(GLOB PVSMGR_RC_SRCS
- pvsmgr.qrc
+ res/pvsmgr.qrc
+ ${CMAKE_CURRENT_BINARY_DIR}/pvsmgr_ts.qrc
+
)
FILE(GLOB PVSCLIENT_RC_SRCS
- pvsclient.qrc
+ res/pvsclient.qrc
+ ${CMAKE_CURRENT_BINARY_DIR}/pvsclient_ts.qrc
)
# i18n
@@ -103,57 +113,12 @@ FILE(GLOB PVSCLIENT_TSS
i18n/client/*.ts
)
-
-# this will run uic on .ui files
-QT5_WRAP_UI(PVSMGR_UI_HDRS ${PVSMGR_UIS})
-QT5_WRAP_UI(PVSCLIENT_UI_HDRS ${PVSCLIENT_UIS})
-
-# this will run moc
-#QT4_WRAP_CPP(PVSMGR_MOC_SRCS ${PVSMGR_MOC_HDRS})
-#QT4_WRAP_CPP(PVSCLIENT_MOC_SRCS ${PVSCLIENT_MOC_HDRS})
-
-option(UPDATE_TRANSLATIONS "Update .ts files (WARNING: make clean will delete the .ts files!)" OFF)
-
if(PVSMGR_TSS)
-
- if (UPDATE_TRANSLATIONS)
- set(FILES_TO_TRANSLATE ${PVSMGR_SRCS} ${PVSMGR_UIS})
- QT5_CREATE_TRANSLATION(PVSMGR_QMS ${FILES_TO_TRANSLATE} ${PVSMGR_TSS} OPTIONS -noobsolete)
- message(STATUS ".tr files have been updated")
- else (UPDATE_TRANSLATIONS)
- QT5_ADD_TRANSLATION(PVSMGR_QMS ${PVSMGR_TSS})
- endif (UPDATE_TRANSLATIONS)
- # # write a resource file for qm files
- # set(resource_file_content "<RCC>\n <qresource prefix=\"/\">\n")
- # foreach(file ${PVSMGR_QMS})
- # get_filename_component(filename ${file} NAME)
- # set(resource_file_content "${resource_file_content} <file>${filename}</file>\n")
- # endforeach(file)
- # set(resource_file_content "${resource_file_content} </qresource>\n</RCC>\n")
- # file(WRITE "${CMAKE_BINARY_DIR}/ts_pvsmgr.qrc" "${resource_file_content}")
- # set(PVSMGR_RESOURCES ${PVSMGR_RESOURCES} "${CMAKE_BINARY_DIR}/ts_pvsmgr.qrc")
-
+ QT5_CREATE_TRANSLATION(PVSMGR_QMS ${PVSMGR_UIS} ${PVSMGR_SRCS} ${PVSMGR_TSS} OPTIONS -noobsolete)
endif(PVSMGR_TSS)
if(PVSCLIENT_TSS)
-
- if (UPDATE_TRANSLATIONS)
- set(FILES_TO_TRANSLATE ${PVSCLIENT_SRCS} ${PVSCLIENT_UIS})
- QT5_CREATE_TRANSLATION(PVSCLIENT_QMS ${FILES_TO_TRANSLATE} ${PVSCLIENT_TSS} OPTIONS -noobsolete)
- message(STATUS ".tr files have been updated")
- else (UPDATE_TRANSLATIONS)
- QT5_ADD_TRANSLATION(PVSCLIENT_QMS ${PVSCLIENT_TSS})
- endif (UPDATE_TRANSLATIONS)
- # # write a resource file for qm files
- # set(resource_file_content "<RCC>\n <qresource prefix=\"/\">\n")
- # foreach(file ${PVSCLIENT_QMS})
- # get_filename_component(filename ${file} NAME)
- # set(resource_file_content "${resource_file_content} <file>${filename}</file>\n")
- # endforeach(file)
- # set(resource_file_content "${resource_file_content} </qresource>\n</RCC>\n")
- # file(WRITE "${CMAKE_BINARY_DIR}/ts_pvsclient.qrc" "${resource_file_content}")
- # set(PVSCLIENT_RESOURCES ${PVSCLIENT_RESOURCES} "${CMAKE_BINARY_DIR}/ts_pvsclient.qrc")
-
+ QT5_CREATE_TRANSLATION(PVSCLIENT_QMS ${PVSCLIENT_UIS} ${PVSCLIENT_SRCS} ${PVSCLIENT_TSS} OPTIONS -noobsolete)
endif(PVSCLIENT_TSS)
# this will run rcc on .qrc files
@@ -167,8 +132,6 @@ QT5_ADD_RESOURCES(PVSCLIENT_RCS ${PVSCLIENT_RC_SRCS})
ADD_EXECUTABLE(pvsmgr
${PVSMGR_SRCS}
${PVSMGR_RCS}
-# ${PVSMGR_MOC_SRCS}
- ${PVSMGR_UI_HDRS}
${PVSMGR_RC_SRCS}
${PVSMGR_QMS}
)
@@ -176,8 +139,6 @@ ADD_EXECUTABLE(pvsmgr
ADD_EXECUTABLE(pvsclient
${PVSCLIENT_SRCS}
${PVSCLIENT_RCS}
-# ${PVSCLIENT_MOC_SRCS}
- ${PVSCLIENT_UI_HDRS}
${PVSCLIENT_RC_SRCS}
${PVSCLIENT_QMS}
)
@@ -188,7 +149,6 @@ TARGET_LINK_LIBRARIES(pvsmgr
Qt5::Widgets
Qt5::Svg
Qt5::X11Extras
-# ${VNC_LIBRARIES}
${X11_LIBRARIES}
${X11_Xscreensaver_LIB}
)
@@ -204,33 +164,3 @@ SET_PROPERTY(TARGET pvsmgr PROPERTY COMPILE_DEFINITIONS MAINWINDOW_USE_NORMALGUI
# install
INSTALL(TARGETS pvsmgr pvsclient RUNTIME DESTINATION bin)
-#INSTALL(PROGRAMS misc/pvs-vncsrv DESTINATION bin)
-#INSTALL(FILES misc/pvsclient.conf misc/pvsmgr.conf DESTINATION /etc/openslx)
-#INSTALL(FILES misc/pvsclient.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
- "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake/Uninstall.cmake"
-)
-
-# package
-SET( CPACK_GENERATOR "DEB" )
-SET( CPACK_SET_DESTDIR "ON" )
-SET( CPACK_PACKAGE_NAME "pvs" )
-SET( CPACK_PACKAGE_VERSION_MAJOR "3" )
-SET( CPACK_PACKAGE_VERSION_MINOR "1" )
-SET( CPACK_PACKAGE_VERSION_PATCH "2" )
-SET( CPACK_PACKAGE_DESCRIPTION_SUMMARY "Pool Video Switch" )
-SET( CPACK_PACKAGE_DESCRIPTION "")
-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 )