blob: 3079871cffdd98cdb9e0f782fbf3934fc619a246 (
plain) (
tree)
|
|
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 "<RCC>\n <qresource prefix=\"/\">\n")
foreach(file ${BWLPSAVER_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}/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)
|