# to do: -fno-exceptions
#

PROJECT (ICU-i18n)

SET_DIRECTORY_PROPERTIES(PROPERTIES INCLUDE_DIRECTORIES "${PROJECT_SOURCE_DIR}/../common;${PROJECT_SOURCE_DIR}")

# Compiler errors when turning this one on.
#ADD_DEFINITIONS(-DU_HIDE_DEPRECATED_API)
ADD_DEFINITIONS(-DU_I18N_IMPLEMENTATION)

SET(ICU_SOURCES
  affixpatternparser.cpp
  alphaindex.cpp
  anytrans.cpp
  astro.cpp
  basictz.cpp
  bocsu.cpp
  brktrans.cpp
  buddhcal.cpp
  calendar.cpp
  casetrn.cpp
  cecal.cpp
  chnsecal.cpp
  choicfmt.cpp
  coleitr.cpp
  collationbuilder.cpp
  collationcompare.cpp
  collation.cpp
  collationdatabuilder.cpp
  collationdata.cpp
  collationdatareader.cpp
  collationdatawriter.cpp
  collationfastlatinbuilder.cpp
  collationfastlatin.cpp
  collationfcd.cpp
  collationiterator.cpp
  collationkeys.cpp
  collationroot.cpp
  collationrootelements.cpp
  collationruleparser.cpp
  collationsets.cpp
  collationsettings.cpp
  collationtailoring.cpp
  collationweights.cpp
  coll.cpp
  compactdecimalformat.cpp
  coptccal.cpp
  cpdtrans.cpp
  csdetect.cpp
  csmatch.cpp
  csr2022.cpp
  csrecog.cpp
  csrmbcs.cpp
  csrsbcs.cpp
  csrucode.cpp
  csrutf8.cpp
  curramt.cpp
  currfmt.cpp
  currpinf.cpp
  currunit.cpp
  dangical.cpp
  datefmt.cpp
  dayperiodrules.cpp
  dcfmtsym.cpp
  decContext.cpp
  decfmtst.cpp
  decimalformatpattern.cpp
  decimfmt.cpp
  decimfmtimpl.cpp
  decNumber.cpp
  digitaffix.cpp
  digitaffixesandpadding.cpp
  digitformatter.cpp
  digitgrouping.cpp
  digitinterval.cpp
  digitlst.cpp
  dtfmtsym.cpp
  dtitvfmt.cpp
  dtitvinf.cpp
  dtptngen.cpp
  dtrule.cpp
  esctrn.cpp
  ethpccal.cpp
  fmtable_cnv.cpp
  fmtable.cpp
  format.cpp
  fphdlimp.cpp
  fpositer.cpp
  funcrepl.cpp
  gender.cpp
  gregocal.cpp
  gregoimp.cpp
  hebrwcal.cpp
  indiancal.cpp
  inputext.cpp
  islamcal.cpp
  japancal.cpp
  measfmt.cpp
  measunit.cpp
  measure.cpp
  msgfmt.cpp
  name2uni.cpp
  nfrs.cpp
  nfrule.cpp
  nfsubs.cpp
  nortrans.cpp
  nultrans.cpp
  numfmt.cpp
  numsys.cpp
  olsontz.cpp
  persncal.cpp
  pluralaffix.cpp
  plurfmt.cpp
  plurrule.cpp
  precision.cpp
  quant.cpp
  quantityformatter.cpp
  rbnf.cpp
  rbt.cpp
  rbt_data.cpp
  rbt_pars.cpp
  rbt_rule.cpp
  rbt_set.cpp
  rbtz.cpp
  regexcmp.cpp
  regeximp.cpp
  regexst.cpp
  regextxt.cpp
  region.cpp
  reldatefmt.cpp
  reldtfmt.cpp
  rematch.cpp
  remtrans.cpp
  repattrn.cpp
  rulebasedcollator.cpp
  scientificnumberformatter.cpp
  scriptset.cpp
  search.cpp
  selfmt.cpp
  sharedbreakiterator.cpp
  simpletz.cpp
  smallintformatter.cpp
  smpdtfmt.cpp
  smpdtfst.cpp
  sortkey.cpp
  standardplural.cpp
  strmatch.cpp
  strrepl.cpp
  stsearch.cpp
  taiwncal.cpp
  timezone.cpp
  titletrn.cpp
  tmunit.cpp
  tmutamt.cpp
  tmutfmt.cpp
  tolowtrn.cpp
  toupptrn.cpp
  translit.cpp
  transreg.cpp
  tridpars.cpp
  tzfmt.cpp
  tzgnames.cpp
  tznames.cpp
  tznames_impl.cpp
  tzrule.cpp
  tztrans.cpp
  ucal.cpp
  ucln_in.cpp
  ucol.cpp
  ucoleitr.cpp
  ucol_res.cpp
  ucol_sit.cpp
  ucsdet.cpp
  udat.cpp
  udateintervalformat.cpp
  udatpg.cpp
  ufieldpositer.cpp
  uitercollationiterator.cpp
  ulocdata.cpp
  umsg.cpp
  unesctrn.cpp
  uni2name.cpp
  unum.cpp
  unumsys.cpp
  upluralrules.cpp
  uregexc.cpp
  uregex.cpp
  uregion.cpp
  usearch.cpp
  uspoof_build.cpp
  uspoof_conf.cpp
  uspoof.cpp
  uspoof_impl.cpp
  utf16collationiterator.cpp
  utf8collationiterator.cpp
  utmscale.cpp
  utrans.cpp
  valueformatter.cpp
  visibledigits.cpp
  vtzone.cpp
  vzone.cpp
  windtfmt.cpp
  winnmfmt.cpp
  wintzimpl.cpp
  zonemeta.cpp
  zrule.cpp
  ztrans.cpp
)

ADD_LIBRARY(icui18n STATIC ${ICU_SOURCES})

IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
  TARGET_COMPILE_OPTIONS(icui18n PRIVATE ${ICU_LINUX_COMPILE_OPTIONS})
ENDIF()
