aboutsummaryrefslogtreecommitdiff
path: root/xM/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'xM/CMakeLists.txt')
-rw-r--r--xM/CMakeLists.txt32
1 files changed, 32 insertions, 0 deletions
diff --git a/xM/CMakeLists.txt b/xM/CMakeLists.txt
new file mode 100644
index 0000000..3386926
--- /dev/null
+++ b/xM/CMakeLists.txt
@@ -0,0 +1,32 @@
+# Swift language support
+cmake_minimum_required (VERSION 3.15)
+
+file (READ ../xK-version project_version)
+configure_file (../xK-version xK-version.tag COPYONLY)
+string (STRIP "${project_version}" project_version)
+
+# There were two issues when building this from the main CMakeLists.txt:
+# a) renaming main.swift to xM.swift requires removing top-level statements,
+# b) there is a "redefinition of module 'FFI'" error.
+project (xM VERSION "${project_version}"
+ DESCRIPTION "Cocoa frontend for xC" LANGUAGES Swift)
+
+set (root "${PROJECT_SOURCE_DIR}/..")
+add_custom_command (OUTPUT xC-proto.swift
+ COMMAND env LC_ALL=C awk
+ -f ${root}/liberty/tools/lxdrgen.awk
+ -f ${root}/liberty/tools/lxdrgen-swift.awk
+ -v PrefixCamel=Relay
+ ${root}/xC.lxdr > xC-proto.swift
+ DEPENDS
+ ${root}/liberty/tools/lxdrgen.awk
+ ${root}/liberty/tools/lxdrgen-swift.awk
+ ${root}/xC.lxdr
+ COMMENT "Generating xC relay protocol code" VERBATIM)
+
+set (MACOSX_BUNDLE_GUI_IDENTIFIER name.janouch.${PROJECT_NAME})
+
+# Other requirements: macOS 10.14 for Network, and macOS 11 for Logger.
+set (CMAKE_Swift_LANGUAGE_VERSION 5)
+add_executable (xM MACOSX_BUNDLE
+ main.swift ${PROJECT_BINARY_DIR}/xC-proto.swift)