cmake_minimum_required (VERSION 3.10) project (Quackle VERSION 1.0.4) message("-- Configuring Quackle") include("${CMAKE_CURRENT_SOURCE_DIR}/../Settings.cmake") option(BUNDLE "Build app bundle on macOS; does not populate with resources" OFF) set(QT_VERSION "5" CACHE STRING "Version of Qt (anything past the first digit is ignored)") add_subdirectory(.. libquackle) add_subdirectory(../quackleio quackleio) add_subdirectory(../data data) if("${QT_VERSION}" MATCHES "^6") find_package(Qt6 REQUIRED COMPONENTS Core Widgets) else() find_package(Qt5 REQUIRED COMPONENTS Core Widgets) endif() set(CMAKE_AUTOMOC ON) set(QUACKLE_SOURCES bagdisplay.cpp boarddisplay.cpp boardsetup.cpp boardsetupdialog.cpp brb.cpp configdialog.cpp configpages.cpp dashboard.cpp geometry.cpp graphicalboard.cpp graphicalreporter.cpp history.cpp letterbox.cpp letterboxsettings.cpp lexicondialog.cpp lister.cpp macondo.cpp macondobackend.cpp main.cpp movebox.cpp newgame.cpp noteeditor.cpp oppothread.cpp oppothreadprogressbar.cpp quacker.cpp quackersettings.cpp rackdisplay.cpp settings.cpp simviewer.cpp view.cpp widgetfactory.cpp ) set(QUACKLE_HEADERS bagdisplay.h boarddisplay.h boardsetup.h boardsetupdialog.h brb.h configdialog.h configpages.h customqsettings.h dashboard.h geometry.h graphicalboard.h graphicalreporter.h history.h letterbox.h letterboxsettings.h lexicondialog.h lister.h macondo.h macondobackend.h movebox.h newgame.h noteeditor.h oppothread.h oppothreadprogressbar.h quacker.h quackersettings.h rackdisplay.h settings.h simviewer.h view.h widgetfactory.h ) set(QUACKLE_RESOURCES "${PROJECT_SOURCE_DIR}/quacker.icns" # ${DATA_ALPHABETS} ) if(APPLE AND BUNDLE) add_executable(Quackle MACOSX_BUNDLE ${QUACKLE_SOURCES} ${QUACKLE_HEADERS} quacker.icns ) else() add_executable(Quackle WIN32 ${QUACKLE_SOURCES} ${QUACKLE_HEADERS} quacker.rc ) endif() target_link_libraries(Quackle quackleio libquackle) if("${QT_VERSION}" MATCHES "^6") target_link_libraries(Quackle Qt6::Core Qt6::Widgets) else() target_link_libraries(Quackle Qt5::Core Qt5::Widgets) endif() if(APPLE) target_link_libraries(Quackle "-framework CoreFoundation") if (BUNDLE) set_target_properties(Quackle PROPERTIES RESOURCE ${QUACKLE_RESOURCES} MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/Quackle.plist" ) endif() endif()