diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..7530b78 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,138 @@ +################################################################################ +# General +################################################################################ + +PROJECT(printergui) +CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0) + +# set compiler optimizations for debug and release +IF (CMAKE_BUILD_TYPE STREQUAL "") + SET(CMAKE_BUILD_TYPE Debug) +ENDIF() +SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -Wall -Wunused -Wunreachable-code -pedantic") +SET(CMAKE_C_FLAGS_RELEASE "-O2") +SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -Wall") +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 REQUIRED) +FIND_PACKAGE(Cups REQUIRED) + +# some includes +INCLUDE_DIRECTORIES( + ${CMAKE_SOURCE_DIR} + ${CMAKE_BINARY_DIR} +) + +################################################################################ +# Variables +################################################################################ + +# printergui (maingui) +FILE(GLOB MAINGUI_SRCS + src/maingui/*.cpp +) + +# password gui (printpwgui +FILE(GLOB PWGUI_SRCS + src/pwgui/*.cpp +) + +################################################################################ +# Qt +################################################################################ + +# .ui files +FILE(GLOB MAINGUI_UIS + src/maingui/*.ui +) + +FILE(GLOB PWGUI_UIS + src/pwgui/*.ui +) + +# .qrc files +#SET(MAINGUI_RCS pvsmgr.qrc) +#SET(PWGUI_RCS pvsclient.qrc) + +# includes all header files that should be treated with moc +SET(MAINGUI_MOC_HDRS + src/maingui/printergui.h +) + +SET(PWGUI_MOC_HDRS + src/pwgui/pwgui.h +) + +# i18n +#FILE(GLOB MAINGUI_TSS +# i18n/server/*.ts +#) + +#FILE(GLOB PWGUI_TSS +# i18n/client/*.ts +#) + + +# include Qt modules +#SET(QT_USE_QTDBUS TRUE) +#SET(QT_USE_QTNETWORK TRUE) +#SET(QT_USE_QTWEBKIT 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}) + +# this will run rcc on .qrc files +#QT4_ADD_RESOURCES(MAINGUI_RC_SRCS ${MAINGUI_RCS}) +#QT4_ADD_RESOURCES(PWGUI_RC_SRCS ${PWGUI_RCS}) + +# this will run uic on .ui files +QT4_WRAP_UI(MAINGUI_UI_HDRS ${MAINGUI_UIS}) +QT4_WRAP_UI(PWGUI_UI_HDRS ${PWGUI_UIS}) + +# this will run moc +QT4_WRAP_CPP(MAINGUI_MOC_SRCS ${MAINGUI_MOC_HDRS}) +QT4_WRAP_CPP(PWGUI_MOC_SRCS ${PWGUI_MOC_HDRS}) + +# i18n, run lupdate and lrelease) +#QT4_CREATE_TRANSLATION(MAINGUI_QMS ${MAINGUI_SRCS} ${MAINGUI_UI_HDRS} ${MAINGUI_TSS}) +#QT4_CREATE_TRANSLATION(PWGUI_QMS ${PWGUI_SRCS} ${PWGUI_UI_HDRS} ${PWGUI_TSS}) + +################################################################################ +# Build +################################################################################ + +ADD_EXECUTABLE(printergui + ${MAINGUI_SRCS} + ${MAINGUI_MOC_SRCS} + ${MAINGUI_UI_HDRS} + ${MAINGUI_RC_SRCS} + ${MAINGUI_QMS} +) + +ADD_EXECUTABLE(printpwgui + ${PWGUI_SRCS} + ${PWGUI_MOC_SRCS} + ${PWGUI_UI_HDRS} + ${PWGUI_RC_SRCS} + ${PWGUI_QMS} +) + +# link +TARGET_LINK_LIBRARIES(printergui + ${QT_LIBRARIES} + ${CUPS_LIBRARIES} +) + +TARGET_LINK_LIBRARIES(printpwgui + ${QT_LIBRARIES} +) + +# install +INSTALL(TARGETS printergui printpwgui RUNTIME DESTINATION bin) + |