cmake_minimum_required(VERSION 3.5.0) project(colorcode VERSION 0.8.7 LANGUAGES CXX) if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release) endif() set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_POSITION_INDEPENDENT_CODE ON) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) find_package(Qt5 COMPONENTS Core REQUIRED) find_package(Qt5 COMPONENTS Gui REQUIRED) find_package(Qt5 COMPONENTS Widgets REQUIRED) find_package(Qt5 COMPONENTS LinguistTools REQUIRED) set(QMDIR "${CMAKE_CURRENT_BINARY_DIR}/.qm") file(MAKE_DIRECTORY ${QMDIR}) set(TS_FILES trans_de.ts trans_en.ts trans_cs.ts trans_fr.ts trans_hu.ts trans_es.ts ) set_source_files_properties(${TS_FILES} PROPERTIES OUTPUT_LOCATION ${QMDIR}) qt5_add_translation(QMFILES ${TS_FILES}) set(QMRESFILE "${QMDIR}/cmake_translations.qrc") file(WRITE ${QMRESFILE} "\n\n") foreach(QMFILE ${QMFILES}) file(RELATIVE_PATH QMFILE_NAME ${QMDIR} ${QMFILE}) file(APPEND ${QMRESFILE} " ${QMFILE}\n") endforeach(QMFILE) file(APPEND ${QMRESFILE} "\n\n") qt_add_resources(TRANSRES ${QMRESFILE}) qt5_wrap_ui(UIS_HDRS about.ui prefdialog.ui gametablesdialog.ui ) add_executable(colorcode ${TRANSRES} ${UIS_HDRS} about.cpp colorcode.cpp colorpeg.cpp main.cpp msg.cpp pegrow.cpp rowhint.cpp ccsolver.cpp background.cpp solutionrow.cpp graphicsbtn.cpp settings.cpp prefdialog.cpp pegfactory.cpp gamenodisplay.cpp timedisplay.cpp timedisplaybg.cpp highscore.cpp ccgame.cpp buttonscell.cpp buttondelegate.cpp cellbtn.cpp gametimer.cpp savedgamesmodel.cpp prevgamesmodel.cpp highscoresmodel.cpp gametableview.cpp gametablesdialog.cpp gameslistmodel.cpp docs/GPL.html resource.qrc ) target_link_libraries(colorcode Qt5::Widgets Qt5::Gui Qt5::Core ) target_compile_options(colorcode BEFORE PUBLIC -pipe -O3 -Wall -Wextra -D_REENTRANT -fPIC ) # target_compile_options(colorcode PUBLIC -O3)