github.com/siejkowski/CICU-OSX



Documentation

CICU - modulemap for using OSX ICU in Swift

Motivation:

There're three ways to add system ICU as module on OSX: 1) link headers using swift build -Xswiftc -I/usr/local/include, providing the headers were installed and linked to /usr/local/include (homebrew does that) 2) keep a symbolic link in CICU pointing to /usr/local/include; however, because of include convention in ICU headers one need to also include a recursive symbolic link to ./unicode directory 3) keep a copy of headers with modified include structure in CICU

Ad.1) It's an additional setup for user of the library Ad.2) It's potencially interfering with system (copy and remove have problems with recursive symlinks) Ad.3) It's an additional maintainance cost for CICU, but least problematic for client.

I've chosen solution 3).

Also, there are two versions: with disabled ICU version renaming and with enabled ICU version renaming. Both are in separate branches.