PROJECT (ICU-uc)

ADD_DEFINITIONS(-DU_COMMON_IMPLEMENTATION)

SET_DIRECTORY_PROPERTIES(PROPERTIES INCLUDE_DIRECTORIES "${PROJECT_SOURCE_DIR}")

SET(ICU_COMMON_SOURCES
  appendable.cpp
  bmpset.cpp
  brkeng.cpp
  brkiter.cpp
  bytesinkutil.cpp
  bytestream.cpp
  bytestriebuilder.cpp
  bytestrie.cpp
  bytestrieiterator.cpp
  caniter.cpp
  characterproperties.cpp
  chariter.cpp
  charstr.cpp
  cmemory.cpp
  cstr.cpp
  cstring.cpp
  cwchar.cpp
  dictbe.cpp
  dictionarydata.cpp
  dtintrv.cpp
  edits.cpp
  errorcode.cpp
  filteredbrk.cpp
  filterednormalizer2.cpp
  icudataver.cpp
  icuplug.cpp
  loadednormalizer2impl.cpp
  localebuilder.cpp
  localematcher.cpp
  localeprioritylist.cpp
  locavailable.cpp
  locbased.cpp
  locdispnames.cpp
  locdistance.cpp
  locdspnm.cpp
  locid.cpp
  loclikely.cpp
  loclikelysubtags.cpp
  locmap.cpp
  locresdata.cpp
  locutil.cpp
  lsr.cpp
  messagepattern.cpp
  normalizer2.cpp
  normalizer2impl.cpp
  normlzr.cpp
  parsepos.cpp
  patternprops.cpp
  pluralmap.cpp
  propname.cpp
  propsvec.cpp
  punycode.cpp
  putil.cpp
  rbbi_cache.cpp
  rbbi.cpp
  rbbidata.cpp
  rbbinode.cpp
  rbbirb.cpp
  rbbiscan.cpp
  rbbisetb.cpp
  rbbistbl.cpp
  rbbitblb.cpp
  resbund_cnv.cpp
  resbund.cpp
  resource.cpp
  restrace.cpp
  ruleiter.cpp
  schriter.cpp
  serv.cpp
  servlk.cpp
  servlkf.cpp
  servls.cpp
  servnotf.cpp
  servrbf.cpp
  servslkf.cpp
  sharedobject.cpp
  simpleformatter.cpp
  static_unicode_sets.cpp
  stringpiece.cpp
  stringtriebuilder.cpp
  uarrsort.cpp
  ubidi.cpp
  ubidiln.cpp
  ubidi_props.cpp
  ubiditransform.cpp
  ubidiwrt.cpp
  ubrk.cpp
  ucase.cpp
  ucasemap.cpp
  ucasemap_titlecase_brkiter.cpp
  ucat.cpp
  uchar.cpp
  ucharstriebuilder.cpp
  ucharstrie.cpp
  ucharstrieiterator.cpp
  uchriter.cpp
  ucln_cmn.cpp
  ucmndata.cpp
  ucnv2022.cpp
  ucnv_bld.cpp
  ucnvbocu.cpp
  ucnv_cb.cpp
  ucnv_cnv.cpp
  ucnv.cpp
  ucnv_ct.cpp
  ucnvdisp.cpp
  ucnv_err.cpp
  ucnv_ext.cpp
  ucnvhz.cpp
  ucnv_io.cpp
  ucnvisci.cpp
  ucnvlat1.cpp
  ucnv_lmb.cpp
  ucnvmbcs.cpp
  ucnvscsu.cpp
  ucnvsel.cpp
  ucnv_set.cpp
  ucnv_u16.cpp
  ucnv_u32.cpp
  ucnv_u7.cpp
  ucnv_u8.cpp
  ucol_swp.cpp
  ucptrie.cpp
  ucurr.cpp
  udata.cpp
  udatamem.cpp
  udataswp.cpp
  uenum.cpp
  uhash.cpp
  uhash_us.cpp
  uidna.cpp
  uinit.cpp
  uinvchar.cpp
  uiter.cpp
  ulist.cpp
  uloc.cpp
  uloc_keytype.cpp
  uloc_tag.cpp
  umapfile.cpp
  umath.cpp
  umutablecptrie.cpp
  umutex.cpp
  unames.cpp
  unifiedcache.cpp
  unifilt.cpp
  unifunct.cpp
  uniset_closure.cpp
  uniset.cpp
  uniset_props.cpp
  unisetspan.cpp
  unistr_case.cpp
  unistr_case_locale.cpp
  unistr_cnv.cpp
  unistr.cpp
  unistr_props.cpp
  unistr_titlecase_brkiter.cpp
  unormcmp.cpp
  unorm.cpp
  uobject.cpp
  uprops.cpp
  uresbund.cpp
  ures_cnv.cpp
  uresdata.cpp
  usc_impl.cpp
  uscript.cpp
  uscript_props.cpp
  uset.cpp
  usetiter.cpp
  uset_props.cpp
  ushape.cpp
  usprep.cpp
  ustack.cpp
  ustrcase.cpp
  ustrcase_locale.cpp
  ustr_cnv.cpp
  ustrenum.cpp
  ustrfmt.cpp
  ustring.cpp
  ustr_titlecase_brkiter.cpp
  ustrtrns.cpp
  ustr_wcs.cpp
  utext.cpp
  utf_impl.cpp
  util.cpp
  util_props.cpp
  utrace.cpp
  utrie2_builder.cpp
  utrie2.cpp
  utrie.cpp
  utrie_swap.cpp
  uts46.cpp
  utypes.cpp
  uvector.cpp
  uvectr32.cpp
  uvectr64.cpp
  wintz.cpp
)

ADD_LIBRARY(icuuc STATIC ${ICU_COMMON_SOURCES})

# uidna_toASCII_59 is marked as deprecated
IF(MY_COMPILER_IS_GNU_OR_CLANG)
  ADD_COMPILE_FLAGS(uidna.cpp COMPILE_FLAGS "-Wno-deprecated-declarations")
ENDIF()

IF(LINUX OR (SOLARIS AND MY_COMPILER_IS_GNU_OR_CLANG))
  TARGET_COMPILE_OPTIONS(icuuc PRIVATE ${ICU_LINUX_COMPILE_OPTIONS})
ENDIF()
