From 59d61e258c59dc695783e0b9adc419de2b174e75 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 11 Oct 2018 14:57:46 +0200 Subject: Initial commit --- CMakeLists.txt | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 CMakeLists.txt (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..3079871 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,89 @@ +cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR) + +# cmake -G"Eclipse CDT4 - Unix Makefiles" -D CMAKE_BUILD_TYPE=Debug .. + +# project name +project(bwlp-screensaver) + +set(CMAKE_BUILD_TYPE Debug) +set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -Wall -Wextra -pedantic -Werror -Wno-multichar") +set(CMAKE_CXX_FLAGS_RELEASE "-O2 -Wno-multichar") + +set(CMAKE_CXX_STANDARD 11) +# Some cmake versions can't understand the CMAKE_CXX_STANDARD option above? +SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" ) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) +set(CMAKE_AUTOMOC ON) + +FIND_PACKAGE(X11 REQUIRED) + +file(GLOB_RECURSE BWLPSAVER_SOURCES src/*.cpp) +file(GLOB_RECURSE BWLPSAVER_UIS src/ui/*.ui) +file(GLOB_RECURSE BWLPSAVER_RESOURCES src/*.qrc) +file(GLOB_RECURSE BWLPSAVER_TSS src/i18n/*.ts) + +include_directories( + ${CMAKE_CURRENT_SOURCE_DIR}/src + ${CMAKE_CURRENT_BINARY_DIR} +) + +# +# Qt5 +# +find_package(Qt5 COMPONENTS Widgets Network X11Extras REQUIRED) + +IF(X11_Xscreensaver_FOUND) + ADD_DEFINITIONS(-DX11_Xscreensaver_FOUND) +ENDIF() +IF(X11_dpms_FOUND) + ADD_DEFINITIONS(-DX11_dpms_FOUND) +ENDIF() + + +QT5_WRAP_UI(BWLPSAVER_UI_HEADERS ${BWLPSAVER_UIS}) + +option(UPDATE_TRANSLATIONS "Update .ts files (WARNING: make clean will delete the .ts files!)") +if(BWLPSAVER_TSS) + if (UPDATE_TRANSLATIONS) + set (FILES_TO_TRANSLATE ${FILES_TO_TRANSLATE} ${BWLPSAVER_SOURCES} ${BWLPSAVER_UIS}) + QT5_CREATE_TRANSLATION(BWLPSAVER_QMS ${FILES_TO_TRANSLATE} ${BWLPSAVER_TSS} OPTIONS -noobsolete) + message(STATUS ".tr files have been updated") + else (UPDATE_TRANSLATIONS) + QT5_ADD_TRANSLATION(BWLPSAVER_QMS ${BWLPSAVER_TSS}) + endif (UPDATE_TRANSLATIONS) + + # write a resource file for qm files + set(resource_file_content "\n \n") + foreach(file ${BWLPSAVER_QMS}) + get_filename_component(filename ${file} NAME) + set(resource_file_content "${resource_file_content} ${filename}\n") + endforeach(file) + set(resource_file_content "${resource_file_content} \n\n") + file(WRITE "${CMAKE_BINARY_DIR}/translation.qrc" "${resource_file_content}") + set(BWLPSAVER_RESOURCES ${BWLPSAVER_RESOURCES} "${CMAKE_BINARY_DIR}/translation.qrc") + + #add_custom_target(translations_target DEPENDS ${BWLPSAVER_QMS}) +endif(BWLPSAVER_TSS) + +QT5_ADD_RESOURCES(BWLPSAVER_RC_SOURCES ${BWLPSAVER_RESOURCES}) + +# +# build bwlp-screensaver +# +add_executable(bwlp-screensaver + ${BWLPSAVER_SOURCES} + ${BWLPSAVER_UI_HEADERS} + ${BWLPSAVER_RC_SOURCES} + ${BWLPSAVER_QMS} +) + +target_link_libraries(bwlp-screensaver + Qt5::Widgets + Qt5::Network + Qt5::X11Extras + ${X11_LIBRARIES} + ${X11_Xscreensaver_LIB} +) + +install(TARGETS bwlp-screensaver RUNTIME DESTINATION bin) -- cgit v1.2.3-55-g7522