CMakeLists.txt file contents:
cmake_minimum_required(VERSION 3.5)
project(mazungumzo C CXX Swift)
set(CMAKE_CXX_STANDARD 23)
add_library(mazungumzo_guitoolkit STATIC
GUIToolkit.mm
GUIToolkit.hpp
WILDPreferences.h
WILDPreferences.swift
WILDString.h
WILDString.swift
../GUIToolkit.hpp
../../Defer.hpp)
set_target_properties(mazungumzo_guitoolkit PROPERTIES
Swift_LANGUAGE_VERSION 5.8.1)
#set_target_properties(mazungumzo_guitoolkit PROPERTIES
# XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC YES) # Doesn't work with Ninja generator.
set_property (TARGET mazungumzo_guitoolkit APPEND_STRING PROPERTY
COMPILE_FLAGS "-fobjc-arc") # Set for all compilers, Swiftc gives "error: unknown argument: '-fobjc-arc'"
target_link_libraries (mazungumzo_guitoolkit
"-framework Cocoa"
"-framework QuartzCore"
)
OK, I'm trying to build some mixed C++, ObjC and Swift code with CMake (CLion).
Since the Xcode generator doesn’t seem to work with Swift anymore, I switched over to Ninja, and now all ObjC files are built without ARC.
How do I tell CMake with Ninja to build […]
[Original post on chaos.social]