diff options
author | Simon Rettberg | 2017-12-15 14:12:44 +0100 |
---|---|---|
committer | Simon Rettberg | 2017-12-15 14:12:44 +0100 |
commit | 024855948c923bd40ffaf526c1300dd8c0377698 (patch) | |
tree | a737e0a84e0b9f817bd67819f4bbaa39720a09cb /CMakeLists.txt | |
parent | OLDSRC WEG! (diff) | |
download | beamergui-024855948c923bd40ffaf526c1300dd8c0377698.tar.gz beamergui-024855948c923bd40ffaf526c1300dd8c0377698.tar.xz beamergui-024855948c923bd40ffaf526c1300dd8c0377698.zip |
Update to CMAKE, fix timeout dialog on Qt5, fix menu getting covered by window
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..c8ca1ac --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,84 @@ +cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR) + +# cmake -G"Eclipse CDT4 - Unix Makefiles" -D CMAKE_BUILD_TYPE=Debug .. + +# project name +project(beamergui) + +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) + +file(GLOB_RECURSE BEAMERGUI_SOURCES src/*.cpp) +file(GLOB_RECURSE BEAMERGUI_UIS src/*.ui) +file(GLOB_RECURSE BEAMERGUI_RESOURCES src/*.qrc) +file(GLOB_RECURSE BEAMERGUI_TSS src/i18n/*.ts) + +option(UPDATE_TRANSLATIONS "Update .ts files (WARNING: make clean will delete the .ts files!)" OFF) +if(BEAMERGUI_TSS) + if (UPDATE_TRANSLATIONS) + set (FILES_TO_TRANSLATE ${FILES_TO_TRANSLATE} ${BEAMERGUI_SOURCES} ${BEAMERGUI_UIS}) + QT5_CREATE_TRANSLATION(BEAMERGUI_QMS ${FILES_TO_TRANSLATE} ${BEAMERGUI_TSS} OPTIONS -noobsolete) + message(STATUS ".tr files have been updated") + else (UPDATE_TRANSLATIONS) + QT5_ADD_TRANSLATION(BEAMERGUI_QMS ${BEAMERGUI_TSS}) + endif (UPDATE_TRANSLATIONS) + + # write a resource file for qm files + set(resource_file_content "<RCC>\n <qresource prefix=\"/\">\n") + foreach(file ${BEAMERGUI_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(BEAMERGUI_RESOURCES ${BEAMERGUI_RESOURCES} "${CMAKE_BINARY_DIR}/translation.qrc") + + #add_custom_target(translations_target DEPENDS ${BEAMERGUI_QMS}) +endif(BEAMERGUI_TSS) + +#include_directories( +# ${CMAKE_CURRENT_SOURCE_DIR}/src +# ${CMAKE_CURRENT_BINARY_DIR} +#) + +# +# Qt5 +# +FIND_PACKAGE(Qt5 COMPONENTS Widgets REQUIRED) +FIND_PACKAGE(X11 REQUIRED) + +if(NOT X11_Xrandr_FOUND) + MESSAGE( FATAL_ERROR "Cannot find xrandr libs" ) +endif() + + +QT5_WRAP_UI(BEAMERGUI_UI_HEADERS ${BEAMERGUI_UIS}) + +QT5_ADD_RESOURCES(BEAMERGUI_RC_SOURCES ${BEAMERGUI_RESOURCES}) + +# +# build beamergui +# +add_executable(beamergui + ${BEAMERGUI_SOURCES} + ${BEAMERGUI_UI_HEADERS} +# ${BEAMERGUI_RC_SOURCES} + ${BEAMERGUI_QMS} +) + +target_link_libraries(beamergui + Qt5::Widgets + ${X11_LIBRARIES} + ${X11_Xrandr_LIB} +) + +install(TARGETS beamergui RUNTIME DESTINATION bin) + |