summaryrefslogtreecommitdiff
path: root/quacker
diff options
context:
space:
mode:
Diffstat (limited to 'quacker')
-rw-r--r--quacker/CMakeLists.txt114
1 files changed, 114 insertions, 0 deletions
diff --git a/quacker/CMakeLists.txt b/quacker/CMakeLists.txt
new file mode 100644
index 0000000..f964f22
--- /dev/null
+++ b/quacker/CMakeLists.txt
@@ -0,0 +1,114 @@
+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)
+
+add_subdirectory(.. libquackle)
+add_subdirectory(../quackleio quackleio)
+add_subdirectory(../data data)
+
+find_package(Qt5 REQUIRED COMPONENTS Core Widgets)
+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
+ 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
+ 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
+ quacker.icns
+ ${DATA_ALPHABETS}
+)
+
+message( "${QUACKLE_RESOURCES} ${APPLE} $<1:abc>")
+if(APPLE AND BUNDLE)
+ add_executable(Quackle
+ MACOSX_BUNDLE
+ ${QUACKLE_SOURCES} ${QUACKLE_HEADERS} quacker.rc
+ )
+else()
+ add_executable(Quackle
+ ${QUACKLE_SOURCES} ${QUACKLE_HEADERS} quacker.rc
+ )
+endif()
+
+target_link_libraries(Quackle quackleio libquackle)
+target_link_libraries(Quackle Qt5::Core Qt5::Widgets)
+
+if(APPLE)
+ target_link_libraries(Quackle "-framework CoreFoundation")
+ set_target_properties(Quackle PROPERTIES
+ $<$<BOOL:${BUNDLE}>:
+ MACOSX_BUNDLE TRUE
+ RESOURCE "${QUACKLE_RESOURCES}"
+ >
+ )
+endif()
+
+set_target_properties(Quackle PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/Quackle.plist")
+set_target_properties(Quackle PROPERTIES COMPILE_FLAGS -fsanitize=address)
+set_target_properties(Quackle PROPERTIES LINK_FLAGS -fsanitize=address)