Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CMAKE_MINIMUM_REQUIRED( VERSION 3.8 )
- PROJECT( ICU4C CXX C )
- INCLUDE( CMakeDependentOption )
- INCLUDE( FindDoxygen )
- INCLUDE( ${CMAKE_CURRENT_SOURCE_DIR}/../../../../CMake/CheckAtomic.cmake )
- INCLUDE( ${CMAKE_CURRENT_SOURCE_DIR}/../../../../CMake/CheckHeader.cmake )
- INCLUDE( ${CMAKE_CURRENT_SOURCE_DIR}/../../../../CMake/CheckFunction.cmake )
- ###
- # Options
- ###
- OPTION( ICU_BUILD_SHARED "Build ICU as a set of shared libraries?" ON )
- OPTION( ICU_BUILD_STATIC "Build ICU as a set of static libraries?" ON )
- OPTION( ICU_BUILD_MONOLITH "Build all ICU components into a shared or static library?" OFF )
- OPTION( ICU_BUILD_IO "Build the IO component of ICU?" ON )
- OPTION( ICU_BUILD_STUBDATA "Build the data used to bootstrap the tools?" ON )
- OPTION( ICU_BUILD_EXTRAS "Build ICU extras." ON )
- OPTION( ICU_BUILD_DATA "Build the default data used by ICU?" ON )
- OPTION( ICU_BUILD_TOOLS "Build the tools associated with generating data for ICU?" ON )
- # Extras
- CMAKE_DEPENDENT_OPTION( ICU_BUILD_UCONV "Build uconv?" ON "ICU_BUILD_EXTRAS" OFF )
- # Tools
- CMAKE_DEPENDENT_OPTION( ICU_BUILD_CTESTFW "Build ctestfw?" ON "ICU_BUILD_TOOLS" OFF )
- CMAKE_DEPENDENT_OPTION( ICU_BUILD_ESCAPESRC "Build escapesrc?" ON "ICU_BUILD_TOOLS" OFF )
- CMAKE_DEPENDENT_OPTION( ICU_BUILD_GENBRK "Build genbrk?" ON "ICU_BUILD_TOOLS" OFF )
- CMAKE_DEPENDENT_OPTION( ICU_BUILD_GENCCODE "Build genccode?" ON "ICU_BUILD_TOOLS" OFF )
- CMAKE_DEPENDENT_OPTION( ICU_BUILD_GENCFU "Build gencfu?" ON "ICU_BUILD_TOOLS" OFF )
- CMAKE_DEPENDENT_OPTION( ICU_BUILD_GENCMN "Build gencmn?" ON "ICU_BUILD_TOOLS" OFF )
- CMAKE_DEPENDENT_OPTION( ICU_BUILD_GENCNVAL "Build gencnval?" ON "ICU_BUILD_TOOLS" OFF )
- CMAKE_DEPENDENT_OPTION( ICU_BUILD_GENCOLUSB "Build gencolusb?" ON "ICU_BUILD_TOOLS" OFF )
- CMAKE_DEPENDENT_OPTION( ICU_BUILD_GENDICT "Build gendict?" ON "ICU_BUILD_TOOLS" OFF )
- CMAKE_DEPENDENT_OPTION( ICU_BUILD_GENNORM2 "Build gennorm2?" ON "ICU_BUILD_TOOLS" OFF )
- CMAKE_DEPENDENT_OPTION( ICU_BUILD_GENRB "Build genrb?" ON "ICU_BUILD_TOOLS" OFF )
- CMAKE_DEPENDENT_OPTION( ICU_BUILD_GENREN "Build genren?" ON "ICU_BUILD_TOOLS" OFF )
- CMAKE_DEPENDENT_OPTION( ICU_BUILD_GENSPREP "Build gensprep?" ON "ICU_BUILD_TOOLS" OFF )
- CMAKE_DEPENDENT_OPTION( ICU_BUILD_GENTEST "Build gentest?" ON "ICU_BUILD_TOOLS" OFF )
- CMAKE_DEPENDENT_OPTION( ICU_BUILD_ICUINFO "Build icuinfo?" ON "ICU_BUILD_TOOLS" OFF )
- CMAKE_DEPENDENT_OPTION( ICU_BUILD_ICUPKG "Build icupkg?" ON "ICU_BUILD_TOOLS" OFF )
- CMAKE_DEPENDENT_OPTION( ICU_BUILD_ICUSWAP "Build icuswap?" ON "ICU_BUILD_TOOLS" OFF )
- CMAKE_DEPENDENT_OPTION( ICU_BUILD_MAKECONV "Build makeconv?" ON "ICU_BUILD_TOOLS" OFF )
- CMAKE_DEPENDENT_OPTION( ICU_BUILD_PKGDATA "Build pkgdata?" ON "ICU_BUILD_TOOLS" OFF )
- CMAKE_DEPENDENT_OPTION( ICU_BUILD_TZCODE "Build tzcode?" ON "ICU_BUILD_TOOLS" OFF )
- ###
- # Sanity check
- ###
- IF( NOT ${ICU_BUILD_SHARED} AND NOT ${ICU_BUILD_STATIC} )
- MESSAGE( FATAL_ERROR "At least one type of build must be selected (static, shared)." )
- ENDIF( NOT ${ICU_BUILD_SHARED} AND NOT ${ICU_BUILD_STATIC} )
- IF( ICU_BUILD_TOOLS AND NOT ICU_BUILD_STUBDATA )
- MESSAGE( WARNING "Building ICU stubdata, as it is required to bootstrap the tools." )
- SET( ICU_BUILD_STUBDATA TRUE FORCE )
- ENDIF( ICU_BUILD_TOOLS AND NOT ICU_BUILD_STUBDATA )
- ###
- # Requirements
- ###
- SET( CMAKE_C_STANDARD 99 )
- SET( CMAKE_C_STANDARD_REQUIRED TRUE )
- ###
- # Check values
- ###
- CheckHeaderExists( "<linux/elf.h>" HAVE_ELF )
- CheckFunctionExists( "strtod_l( (char*)0, (char**)0, locale_t() )" "<cstdlib>" HAVE_STRTOD_L )
- ###
- # Variables
- ###
- SET( ICU_PATH ${CMAKE_CURRENT_SOURCE_DIR}/icu )
- SET( ICU_SOURCE_PATH ${ICU_PATH}/source )
- SET( ICU_EXTRAS_PATH ${ICU_SOURCE_PATH}/extra )
- SET( ICU_STUBDATA_PATH ${ICU_SOURCE_PATH}/stubdata )
- SET( ICU_CMN_PATH ${ICU_SOURCE_PATH}/common )
- SET( ICU_I18N_PATH ${ICU_SOURCE_PATH}/i18n )
- SET( ICU_UCONV_PATH ${ICU_EXTRAS_PATH}/uconv )
- SET( ICU_GLOBAL_DEFS "_REENTRANT" "U_ATTRIBUTE_DEPRECATED=" )
- IF( HAVE_ATOMIC )
- LIST( APPEND ICU_GLOBAL_DEFS "U_HAVE_ATOMIC=1" )
- ELSE( HAVE_ATOMIC )
- LIST( APPEND ICU_GLOBAL_DEFS "U_HAVE_ATOMIC=0" )
- ENDIF( HAVE_ATOMIC )
- IF( ${HAVE_ELF} )
- LIST( APPEND ICU_GLOBAL_DEFS "U_HAVE_ELF_H=1" )
- ELSE( ${HAVE_ELF} )
- LIST( APPEND ICU_GLOBAL_DEFS "U_HAVE_ELF_H=0" )
- ENDIF( ${HAVE_ELF} )
- IF( ${HAVE_STRTOD_L} )
- LIST( APPEND ICU_GLOBAL_DEFS "U_HAVE_STRTOD_L=1" )
- ELSE( ${HAVE_STRTOD_L} )
- LIST( APPEND ICU_GLOBAL_DEFS "U_HAVE_STRTOD_L=0" )
- ENDIF( ${HAVE_STRTOD_L} )
- ###
- # ICU Sources
- ###
- SET( ICU_STUBDATA_SRC
- "${ICU_STUBDATA_PATH}/stubdata.cpp"
- )
- SET( ICU_STUBDATA_INC_DIR "${ICU_STUBDATA_PATH}" )
- SET( ICU_CMN_SRC
- "${ICU_CMN_PATH}/errorcode.cpp"
- "${ICU_CMN_PATH}/putil.cpp"
- "${ICU_CMN_PATH}/umath.cpp"
- "${ICU_CMN_PATH}/utypes.cpp"
- "${ICU_CMN_PATH}/uinvchar.cpp"
- "${ICU_CMN_PATH}/umutex.cpp"
- "${ICU_CMN_PATH}/ucln_cmn.cpp"
- "${ICU_CMN_PATH}/uinit.cpp"
- "${ICU_CMN_PATH}/uobject.cpp"
- "${ICU_CMN_PATH}/cmemory.cpp"
- "${ICU_CMN_PATH}/charstr.cpp"
- "${ICU_CMN_PATH}/cstr.cpp"
- "${ICU_CMN_PATH}/udata.cpp"
- "${ICU_CMN_PATH}/ucmndata.cpp"
- "${ICU_CMN_PATH}/udatamem.cpp"
- "${ICU_CMN_PATH}/umapfile.cpp"
- "${ICU_CMN_PATH}/udataswp.cpp"
- "${ICU_CMN_PATH}/ucol_swp.cpp"
- "${ICU_CMN_PATH}/utrace.cpp"
- "${ICU_CMN_PATH}/uhash.cpp"
- "${ICU_CMN_PATH}/uhash_us.cpp"
- "${ICU_CMN_PATH}/uenum.cpp"
- "${ICU_CMN_PATH}/ustrenum.cpp"
- "${ICU_CMN_PATH}/uvector.cpp"
- "${ICU_CMN_PATH}/ustack.cpp"
- "${ICU_CMN_PATH}/uvectr32.cpp"
- "${ICU_CMN_PATH}/uvectr64.cpp"
- "${ICU_CMN_PATH}/ucnv.cpp"
- "${ICU_CMN_PATH}/ucnv_bld.cpp"
- "${ICU_CMN_PATH}/ucnv_cnv.cpp"
- "${ICU_CMN_PATH}/ucnv_io.cpp"
- "${ICU_CMN_PATH}/ucnv_cb.cpp"
- "${ICU_CMN_PATH}/ucnv_err.cpp"
- "${ICU_CMN_PATH}/ucnvlat1.cpp"
- "${ICU_CMN_PATH}/ucnv_u7.cpp"
- "${ICU_CMN_PATH}/ucnv_u8.cpp"
- "${ICU_CMN_PATH}/ucnv_u16.cpp"
- "${ICU_CMN_PATH}/ucnv_u32.cpp"
- "${ICU_CMN_PATH}/ucnvscsu.cpp"
- "${ICU_CMN_PATH}/ucnvbocu.cpp"
- "${ICU_CMN_PATH}/ucnv_ext.cpp"
- "${ICU_CMN_PATH}/ucnvmbcs.cpp"
- "${ICU_CMN_PATH}/ucnv2022.cpp"
- "${ICU_CMN_PATH}/ucnvhz.cpp"
- "${ICU_CMN_PATH}/ucnv_lmb.cpp"
- "${ICU_CMN_PATH}/ucnvisci.cpp"
- "${ICU_CMN_PATH}/ucnvdisp.cpp"
- "${ICU_CMN_PATH}/ucnv_set.cpp"
- "${ICU_CMN_PATH}/ucnv_ct.cpp"
- "${ICU_CMN_PATH}/resource.cpp"
- "${ICU_CMN_PATH}/uresbund.cpp"
- "${ICU_CMN_PATH}/ures_cnv.cpp"
- "${ICU_CMN_PATH}/uresdata.cpp"
- "${ICU_CMN_PATH}/resbund.cpp"
- "${ICU_CMN_PATH}/resbund_cnv.cpp"
- "${ICU_CMN_PATH}/ucurr.cpp"
- "${ICU_CMN_PATH}/messagepattern.cpp"
- "${ICU_CMN_PATH}/ucat.cpp"
- "${ICU_CMN_PATH}/locmap.cpp"
- "${ICU_CMN_PATH}/uloc.cpp"
- "${ICU_CMN_PATH}/locid.cpp"
- "${ICU_CMN_PATH}/locutil.cpp"
- "${ICU_CMN_PATH}/locavailable.cpp"
- "${ICU_CMN_PATH}/locdispnames.cpp"
- "${ICU_CMN_PATH}/locdspnm.cpp"
- "${ICU_CMN_PATH}/loclikely.cpp"
- "${ICU_CMN_PATH}/locresdata.cpp"
- "${ICU_CMN_PATH}/bytestream.cpp"
- "${ICU_CMN_PATH}/stringpiece.cpp"
- "${ICU_CMN_PATH}/stringtriebuilder.cpp"
- "${ICU_CMN_PATH}/bytestriebuilder.cpp"
- "${ICU_CMN_PATH}/bytestrie.cpp"
- "${ICU_CMN_PATH}/bytestrieiterator.cpp"
- "${ICU_CMN_PATH}/ucharstrie.cpp"
- "${ICU_CMN_PATH}/ucharstriebuilder.cpp"
- "${ICU_CMN_PATH}/ucharstrieiterator.cpp"
- "${ICU_CMN_PATH}/dictionarydata.cpp"
- "${ICU_CMN_PATH}/edits.cpp"
- "${ICU_CMN_PATH}/appendable.cpp"
- "${ICU_CMN_PATH}/ustr_cnv.cpp"
- "${ICU_CMN_PATH}/unistr_cnv.cpp"
- "${ICU_CMN_PATH}/unistr.cpp"
- "${ICU_CMN_PATH}/unistr_case.cpp"
- "${ICU_CMN_PATH}/unistr_props.cpp"
- "${ICU_CMN_PATH}/utf_impl.cpp"
- "${ICU_CMN_PATH}/ustring.cpp"
- "${ICU_CMN_PATH}/ustrcase.cpp"
- "${ICU_CMN_PATH}/ucasemap.cpp"
- "${ICU_CMN_PATH}/ucasemap_titlecase_brkiter.cpp"
- "${ICU_CMN_PATH}/cstring.cpp"
- "${ICU_CMN_PATH}/ustrfmt.cpp"
- "${ICU_CMN_PATH}/ustrtrns.cpp"
- "${ICU_CMN_PATH}/ustr_wcs.cpp"
- "${ICU_CMN_PATH}/utext.cpp"
- "${ICU_CMN_PATH}/unistr_case_locale.cpp"
- "${ICU_CMN_PATH}/ustrcase_locale.cpp"
- "${ICU_CMN_PATH}/unistr_titlecase_brkiter.cpp"
- "${ICU_CMN_PATH}/ustr_titlecase_brkiter.cpp"
- "${ICU_CMN_PATH}/normalizer2impl.cpp"
- "${ICU_CMN_PATH}/normalizer2.cpp"
- "${ICU_CMN_PATH}/filterednormalizer2.cpp"
- "${ICU_CMN_PATH}/normlzr.cpp"
- "${ICU_CMN_PATH}/unorm.cpp"
- "${ICU_CMN_PATH}/unormcmp.cpp"
- "${ICU_CMN_PATH}/loadednormalizer2impl.cpp"
- "${ICU_CMN_PATH}/chariter.cpp"
- "${ICU_CMN_PATH}/schriter.cpp"
- "${ICU_CMN_PATH}/uchriter.cpp"
- "${ICU_CMN_PATH}/uiter.cpp"
- "${ICU_CMN_PATH}/patternprops.cpp"
- "${ICU_CMN_PATH}/uchar.cpp"
- "${ICU_CMN_PATH}/uprops.cpp"
- "${ICU_CMN_PATH}/ucase.cpp"
- "${ICU_CMN_PATH}/propname.cpp"
- "${ICU_CMN_PATH}/ubidi_props.cpp"
- "${ICU_CMN_PATH}/ubidi.cpp"
- "${ICU_CMN_PATH}/ubidiwrt.cpp"
- "${ICU_CMN_PATH}/ubidiln.cpp"
- "${ICU_CMN_PATH}/ushape.cpp"
- "${ICU_CMN_PATH}/uscript.cpp"
- "${ICU_CMN_PATH}/uscript_props.cpp"
- "${ICU_CMN_PATH}/usc_impl.cpp"
- "${ICU_CMN_PATH}/unames.cpp"
- "${ICU_CMN_PATH}/utrie.cpp"
- "${ICU_CMN_PATH}/utrie2.cpp"
- "${ICU_CMN_PATH}/utrie2_builder.cpp"
- "${ICU_CMN_PATH}/bmpset.cpp"
- "${ICU_CMN_PATH}/unisetspan.cpp"
- "${ICU_CMN_PATH}/uset_props.cpp"
- "${ICU_CMN_PATH}/uniset_props.cpp"
- "${ICU_CMN_PATH}/uniset_closure.cpp"
- "${ICU_CMN_PATH}/uset.cpp"
- "${ICU_CMN_PATH}/uniset.cpp"
- "${ICU_CMN_PATH}/usetiter.cpp"
- "${ICU_CMN_PATH}/ruleiter.cpp"
- "${ICU_CMN_PATH}/caniter.cpp"
- "${ICU_CMN_PATH}/unifilt.cpp"
- "${ICU_CMN_PATH}/unifunct.cpp"
- "${ICU_CMN_PATH}/uarrsort.cpp"
- "${ICU_CMN_PATH}/brkiter.cpp"
- "${ICU_CMN_PATH}/ubrk.cpp"
- "${ICU_CMN_PATH}/brkeng.cpp"
- "${ICU_CMN_PATH}/dictbe.cpp"
- "${ICU_CMN_PATH}/filteredbrk.cpp"
- "${ICU_CMN_PATH}/rbbi.cpp"
- "${ICU_CMN_PATH}/rbbidata.cpp"
- "${ICU_CMN_PATH}/rbbinode.cpp"
- "${ICU_CMN_PATH}/rbbirb.cpp"
- "${ICU_CMN_PATH}/rbbiscan.cpp"
- "${ICU_CMN_PATH}/rbbisetb.cpp"
- "${ICU_CMN_PATH}/rbbistbl.cpp"
- "${ICU_CMN_PATH}/rbbitblb.cpp"
- "${ICU_CMN_PATH}/serv.cpp"
- "${ICU_CMN_PATH}/servnotf.cpp"
- "${ICU_CMN_PATH}/servls.cpp"
- "${ICU_CMN_PATH}/servlk.cpp"
- "${ICU_CMN_PATH}/servlkf.cpp"
- "${ICU_CMN_PATH}/servrbf.cpp"
- "${ICU_CMN_PATH}/servslkf.cpp"
- "${ICU_CMN_PATH}/uidna.cpp"
- "${ICU_CMN_PATH}/usprep.cpp"
- "${ICU_CMN_PATH}/uts46.cpp"
- "${ICU_CMN_PATH}/punycode.cpp"
- "${ICU_CMN_PATH}/util.cpp"
- "${ICU_CMN_PATH}/util_props.cpp"
- "${ICU_CMN_PATH}/parsepos.cpp"
- "${ICU_CMN_PATH}/locbased.cpp"
- "${ICU_CMN_PATH}/cwchar.cpp"
- "${ICU_CMN_PATH}/wintz.cpp"
- "${ICU_CMN_PATH}/dtintrv.cpp"
- "${ICU_CMN_PATH}/ucnvsel.cpp"
- "${ICU_CMN_PATH}/propsvec.cpp"
- "${ICU_CMN_PATH}/ulist.cpp"
- "${ICU_CMN_PATH}/uloc_tag.cpp"
- "${ICU_CMN_PATH}/icudataver.cpp"
- "${ICU_CMN_PATH}/icuplug.cpp"
- "${ICU_CMN_PATH}/listformatter.cpp"
- "${ICU_CMN_PATH}/ulistformatter.cpp"
- "${ICU_CMN_PATH}/sharedobject.cpp"
- "${ICU_CMN_PATH}/simpleformatter.cpp"
- "${ICU_CMN_PATH}/unifiedcache.cpp"
- "${ICU_CMN_PATH}/uloc_keytype.cpp"
- "${ICU_CMN_PATH}/ubiditransform.cpp"
- "${ICU_CMN_PATH}/pluralmap.cpp"
- )
- SET( ICU_CMN_INST_DIR ${ICU_CMN_PATH}/unicode )
- SET( ICU_CMN_INC_DIR ${ICU_CMN_PATH} )
- SET( ICU_CMN_DEFS "U_COMMON_IMPLEMENTATION" "DEFAULT_ICU_PLUGINS=" )
- SET( ICU_I18N_SRC
- "${ICU_I18N_PATH}/fmtable.cpp"
- "${ICU_I18N_PATH}/format.cpp"
- "${ICU_I18N_PATH}/msgfmt.cpp"
- "${ICU_I18N_PATH}/umsg.cpp"
- "${ICU_I18N_PATH}/numfmt.cpp"
- "${ICU_I18N_PATH}/unum.cpp"
- "${ICU_I18N_PATH}/decimfmt.cpp"
- "${ICU_I18N_PATH}/decimalformatpattern.cpp"
- "${ICU_I18N_PATH}/dcfmtsym.cpp"
- "${ICU_I18N_PATH}/digitlst.cpp"
- "${ICU_I18N_PATH}/fmtable_cnv.cpp"
- "${ICU_I18N_PATH}/choicfmt.cpp"
- "${ICU_I18N_PATH}/datefmt.cpp"
- "${ICU_I18N_PATH}/smpdtfmt.cpp"
- "${ICU_I18N_PATH}/reldtfmt.cpp"
- "${ICU_I18N_PATH}/dtfmtsym.cpp"
- "${ICU_I18N_PATH}/udat.cpp"
- "${ICU_I18N_PATH}/dtptngen.cpp"
- "${ICU_I18N_PATH}/udatpg.cpp"
- "${ICU_I18N_PATH}/nfrs.cpp"
- "${ICU_I18N_PATH}/nfrule.cpp"
- "${ICU_I18N_PATH}/nfsubs.cpp"
- "${ICU_I18N_PATH}/rbnf.cpp"
- "${ICU_I18N_PATH}/numsys.cpp"
- "${ICU_I18N_PATH}/unumsys.cpp"
- "${ICU_I18N_PATH}/ucsdet.cpp"
- "${ICU_I18N_PATH}/ucal.cpp"
- "${ICU_I18N_PATH}/calendar.cpp"
- "${ICU_I18N_PATH}/gregocal.cpp"
- "${ICU_I18N_PATH}/timezone.cpp"
- "${ICU_I18N_PATH}/simpletz.cpp"
- "${ICU_I18N_PATH}/olsontz.cpp"
- "${ICU_I18N_PATH}/astro.cpp"
- "${ICU_I18N_PATH}/taiwncal.cpp"
- "${ICU_I18N_PATH}/buddhcal.cpp"
- "${ICU_I18N_PATH}/persncal.cpp"
- "${ICU_I18N_PATH}/islamcal.cpp"
- "${ICU_I18N_PATH}/japancal.cpp"
- "${ICU_I18N_PATH}/gregoimp.cpp"
- "${ICU_I18N_PATH}/hebrwcal.cpp"
- "${ICU_I18N_PATH}/indiancal.cpp"
- "${ICU_I18N_PATH}/chnsecal.cpp"
- "${ICU_I18N_PATH}/cecal.cpp"
- "${ICU_I18N_PATH}/coptccal.cpp"
- "${ICU_I18N_PATH}/dangical.cpp"
- "${ICU_I18N_PATH}/ethpccal.cpp"
- "${ICU_I18N_PATH}/coleitr.cpp"
- "${ICU_I18N_PATH}/coll.cpp"
- "${ICU_I18N_PATH}/sortkey.cpp"
- "${ICU_I18N_PATH}/bocsu.cpp"
- "${ICU_I18N_PATH}/ucoleitr.cpp"
- "${ICU_I18N_PATH}/ucol.cpp"
- "${ICU_I18N_PATH}/ucol_res.cpp"
- "${ICU_I18N_PATH}/ucol_sit.cpp"
- "${ICU_I18N_PATH}/collation.cpp"
- "${ICU_I18N_PATH}/collationsettings.cpp"
- "${ICU_I18N_PATH}/collationdata.cpp"
- "${ICU_I18N_PATH}/collationtailoring.cpp"
- "${ICU_I18N_PATH}/collationdatareader.cpp"
- "${ICU_I18N_PATH}/collationdatawriter.cpp"
- "${ICU_I18N_PATH}/collationfcd.cpp"
- "${ICU_I18N_PATH}/collationiterator.cpp"
- "${ICU_I18N_PATH}/utf16collationiterator.cpp"
- "${ICU_I18N_PATH}/utf8collationiterator.cpp"
- "${ICU_I18N_PATH}/uitercollationiterator.cpp"
- "${ICU_I18N_PATH}/collationsets.cpp"
- "${ICU_I18N_PATH}/collationcompare.cpp"
- "${ICU_I18N_PATH}/collationfastlatin.cpp"
- "${ICU_I18N_PATH}/collationkeys.cpp"
- "${ICU_I18N_PATH}/rulebasedcollator.cpp"
- "${ICU_I18N_PATH}/collationroot.cpp"
- "${ICU_I18N_PATH}/collationrootelements.cpp"
- "${ICU_I18N_PATH}/collationdatabuilder.cpp"
- "${ICU_I18N_PATH}/collationweights.cpp"
- "${ICU_I18N_PATH}/collationruleparser.cpp"
- "${ICU_I18N_PATH}/collationbuilder.cpp"
- "${ICU_I18N_PATH}/collationfastlatinbuilder.cpp"
- "${ICU_I18N_PATH}/strmatch.cpp"
- "${ICU_I18N_PATH}/usearch.cpp"
- "${ICU_I18N_PATH}/search.cpp"
- "${ICU_I18N_PATH}/stsearch.cpp"
- "${ICU_I18N_PATH}/translit.cpp"
- "${ICU_I18N_PATH}/utrans.cpp"
- "${ICU_I18N_PATH}/esctrn.cpp"
- "${ICU_I18N_PATH}/unesctrn.cpp"
- "${ICU_I18N_PATH}/funcrepl.cpp"
- "${ICU_I18N_PATH}/strrepl.cpp"
- "${ICU_I18N_PATH}/tridpars.cpp"
- "${ICU_I18N_PATH}/cpdtrans.cpp"
- "${ICU_I18N_PATH}/rbt.cpp"
- "${ICU_I18N_PATH}/rbt_data.cpp"
- "${ICU_I18N_PATH}/rbt_pars.cpp"
- "${ICU_I18N_PATH}/rbt_rule.cpp"
- "${ICU_I18N_PATH}/rbt_set.cpp"
- "${ICU_I18N_PATH}/nultrans.cpp"
- "${ICU_I18N_PATH}/remtrans.cpp"
- "${ICU_I18N_PATH}/casetrn.cpp"
- "${ICU_I18N_PATH}/titletrn.cpp"
- "${ICU_I18N_PATH}/tolowtrn.cpp"
- "${ICU_I18N_PATH}/toupptrn.cpp"
- "${ICU_I18N_PATH}/anytrans.cpp"
- "${ICU_I18N_PATH}/name2uni.cpp"
- "${ICU_I18N_PATH}/uni2name.cpp"
- "${ICU_I18N_PATH}/nortrans.cpp"
- "${ICU_I18N_PATH}/quant.cpp"
- "${ICU_I18N_PATH}/transreg.cpp"
- "${ICU_I18N_PATH}/brktrans.cpp"
- "${ICU_I18N_PATH}/regexcmp.cpp"
- "${ICU_I18N_PATH}/rematch.cpp"
- "${ICU_I18N_PATH}/repattrn.cpp"
- "${ICU_I18N_PATH}/regexst.cpp"
- "${ICU_I18N_PATH}/regextxt.cpp"
- "${ICU_I18N_PATH}/regeximp.cpp"
- "${ICU_I18N_PATH}/uregex.cpp"
- "${ICU_I18N_PATH}/uregexc.cpp"
- "${ICU_I18N_PATH}/ulocdata.cpp"
- "${ICU_I18N_PATH}/measfmt.cpp"
- "${ICU_I18N_PATH}/currfmt.cpp"
- "${ICU_I18N_PATH}/curramt.cpp"
- "${ICU_I18N_PATH}/currunit.cpp"
- "${ICU_I18N_PATH}/measure.cpp"
- "${ICU_I18N_PATH}/utmscale.cpp"
- "${ICU_I18N_PATH}/csdetect.cpp"
- "${ICU_I18N_PATH}/csmatch.cpp"
- "${ICU_I18N_PATH}/csr2022.cpp"
- "${ICU_I18N_PATH}/csrecog.cpp"
- "${ICU_I18N_PATH}/csrmbcs.cpp"
- "${ICU_I18N_PATH}/csrsbcs.cpp"
- "${ICU_I18N_PATH}/csrucode.cpp"
- "${ICU_I18N_PATH}/csrutf8.cpp"
- "${ICU_I18N_PATH}/inputext.cpp"
- "${ICU_I18N_PATH}/wintzimpl.cpp"
- "${ICU_I18N_PATH}/windtfmt.cpp"
- "${ICU_I18N_PATH}/winnmfmt.cpp"
- "${ICU_I18N_PATH}/basictz.cpp"
- "${ICU_I18N_PATH}/dtrule.cpp"
- "${ICU_I18N_PATH}/rbtz.cpp"
- "${ICU_I18N_PATH}/tzrule.cpp"
- "${ICU_I18N_PATH}/tztrans.cpp"
- "${ICU_I18N_PATH}/vtzone.cpp"
- "${ICU_I18N_PATH}/zonemeta.cpp"
- "${ICU_I18N_PATH}/standardplural.cpp"
- "${ICU_I18N_PATH}/upluralrules.cpp"
- "${ICU_I18N_PATH}/plurrule.cpp"
- "${ICU_I18N_PATH}/plurfmt.cpp"
- "${ICU_I18N_PATH}/selfmt.cpp"
- "${ICU_I18N_PATH}/dtitvfmt.cpp"
- "${ICU_I18N_PATH}/dtitvinf.cpp"
- "${ICU_I18N_PATH}/udateintervalformat.cpp"
- "${ICU_I18N_PATH}/tmunit.cpp"
- "${ICU_I18N_PATH}/tmutamt.cpp"
- "${ICU_I18N_PATH}/tmutfmt.cpp"
- "${ICU_I18N_PATH}/currpinf.cpp"
- "${ICU_I18N_PATH}/uspoof.cpp"
- "${ICU_I18N_PATH}/uspoof_impl.cpp"
- "${ICU_I18N_PATH}/uspoof_build.cpp"
- "${ICU_I18N_PATH}/uspoof_conf.cpp"
- "${ICU_I18N_PATH}/decfmtst.cpp"
- "${ICU_I18N_PATH}/smpdtfst.cpp"
- "${ICU_I18N_PATH}/ztrans.cpp"
- "${ICU_I18N_PATH}/zrule.cpp"
- "${ICU_I18N_PATH}/vzone.cpp"
- "${ICU_I18N_PATH}/fphdlimp.cpp"
- "${ICU_I18N_PATH}/fpositer.cpp"
- "${ICU_I18N_PATH}/ufieldpositer.cpp"
- "${ICU_I18N_PATH}/decNumber.cpp"
- "${ICU_I18N_PATH}/decContext.cpp"
- "${ICU_I18N_PATH}/alphaindex.cpp"
- "${ICU_I18N_PATH}/tznames.cpp"
- "${ICU_I18N_PATH}/tznames_impl.cpp"
- "${ICU_I18N_PATH}/tzgnames.cpp"
- "${ICU_I18N_PATH}/tzfmt.cpp"
- "${ICU_I18N_PATH}/compactdecimalformat.cpp"
- "${ICU_I18N_PATH}/gender.cpp"
- "${ICU_I18N_PATH}/region.cpp"
- "${ICU_I18N_PATH}/scriptset.cpp"
- "${ICU_I18N_PATH}/uregion.cpp"
- "${ICU_I18N_PATH}/reldatefmt.cpp"
- "${ICU_I18N_PATH}/quantityformatter.cpp"
- "${ICU_I18N_PATH}/measunit.cpp"
- "${ICU_I18N_PATH}/sharedbreakiterator.cpp"
- "${ICU_I18N_PATH}/scientificnumberformatter.cpp"
- "${ICU_I18N_PATH}/digitgrouping.cpp"
- "${ICU_I18N_PATH}/digitinterval.cpp"
- "${ICU_I18N_PATH}/digitformatter.cpp"
- "${ICU_I18N_PATH}/digitaffix.cpp"
- "${ICU_I18N_PATH}/valueformatter.cpp"
- "${ICU_I18N_PATH}/digitaffixesandpadding.cpp"
- "${ICU_I18N_PATH}/pluralaffix.cpp"
- "${ICU_I18N_PATH}/precision.cpp"
- "${ICU_I18N_PATH}/affixpatternparser.cpp"
- "${ICU_I18N_PATH}/smallintformatter.cpp"
- "${ICU_I18N_PATH}/decimfmtimpl.cpp"
- "${ICU_I18N_PATH}/visibledigits.cpp"
- "${ICU_I18N_PATH}/dayperiodrules.cpp"
- )
- SET( ICU_I18N_INST_DIR ${ICU_I18N_PATH}/unicode )
- SET( ICU_I18N_INC_DIR ${ICU_I18N_PATH} )
- SET( ICU_I18N_DEFS "U_I18N_IMPLEMENTATION" )
- ###
- # Extras Sources
- ###
- SET( UCONV_SRC
- "${ICU_UCONV_PATH}/uconv.cpp"
- "${ICU_UCONV_PATH}/uwmsg.c"
- )
- ###
- # Setup Libraries
- ###
- # Building a monolith library?
- IF( ${ICU_BUILD_MONOLITH} )
- SET( ICU_SRC ${ICU_CMN_SRC} ${ICU_I18N_SRC} )
- SET( ICU_DEFS ${ICU_GLOBAL_DEFS} ${ICU_CMN_DEFS} ${ICU_I18N_DEFS} U_COMBINED_IMPLEMENTATION )
- SET( ICU_INC ${ICU_CMN_INC_DIR} ${ICU_I18N_INC_DIR} )
- IF( ${ICU_BUILD_SHARED} )
- LIST( APPEND ICU_INSTALL_LIBS icu )
- SET( ICU_MONOLITH_SHARED icu )
- ADD_LIBRARY( ${ICU_MONOLITH_SHARED} SHARED ${ICU_SRC} )
- TARGET_INCLUDE_DIRECTORIES( ${ICU_MONOLITH_SHARED} PRIVATE ${ICU_INC} )
- TARGET_COMPILE_DEFINITIONS( ${ICU_MONOLITH_SHARED} PUBLIC ${ICU_DEFS} PIC )
- ENDIF( ${ICU_BUILD_SHARED} )
- IF( ${ICU_BUILD_STATIC} )
- IF( "${ICU_MONOLITH_SHARED}" STREQUAL "" )
- SET( ICU_MONOLITH_STATIC icu )
- ELSE( )
- SET( ICU_MONOLITH_STATIC icu_static )
- ENDIF( )
- LIST( APPEND ICU_INSTALL_LIBS ${ICU_MONOLITH_STATIC} )
- ADD_LIBRARY( ${ICU_MONOLITH_STATIC} STATIC ${ICU_SRC} )
- TARGET_INCLUDE_DIRECTORIES( ${ICU_MONOLITH_STATIC} PRIVATE ${ICU_INC} )
- TARGET_COMPILE_DEFINITIONS( ${ICU_MONOLITH_STATIC} PUBLIC ${ICU_DEFS} U_STATIC_IMPLEMENTATION )
- ENDIF( ${ICU_BUILD_STATIC} )
- ENDIF( ${ICU_BUILD_MONOLITH} )
- # Building shared libraries?
- IF( ${ICU_BUILD_SHARED} )
- ADD_LIBRARY( icuuc SHARED ${ICU_CMN_SRC} )
- TARGET_INCLUDE_DIRECTORIES( icuuc PUBLIC ${ICU_CMN_INC_DIR} )
- TARGET_COMPILE_DEFINITIONS( icuuc PUBLIC ${ICU_CMN_DEFS} ${ICU_GLOBAL_DEFS} PIC )
- LIST( APPEND ICU_INSTALL_LIBS icuuc )
- SET( ICU_CMN_LIB icuuc )
- ADD_LIBRARY( icui18n SHARED ${ICU_I18N_SRC} )
- TARGET_INCLUDE_DIRECTORIES( icui18n PRIVATE ${ICU_CMN_INC_DIR} ${ICU_I18N_INC_DIR} )
- TARGET_COMPILE_DEFINITIONS( icui18n PUBLIC ${ICU_I18N_DEFS} ${ICU_GLOBAL_DEFS} PIC )
- TARGET_LINK_LIBRARIES( icui18n icuuc )
- LIST( APPEND ICU_INSTALL_LIBS icui18n )
- ENDIF( ${ICU_BUILD_SHARED} )
- # Building static libraries?
- IF( ${ICU_BUILD_STATIC} )
- ADD_LIBRARY( icuuc_static STATIC ${ICU_CMN_SRC} )
- TARGET_INCLUDE_DIRECTORIES( icuuc_static PRIVATE ${ICU_CMN_INC_DIR} )
- TARGET_COMPILE_DEFINITIONS( icuuc_static PUBLIC ${ICU_CMN_DEFS} ${ICU_GLOBAL_DEFS} )
- LIST( APPEND ICU_INSTALL_LIBS icuuc_static )
- IF( "${ICU_CMN_LIB}" STREQUAL "" )
- SET( ICU_CMN_LIB icuuc_static )
- ENDIF( "${ICU_CMN_LIB}" STREQUAL "" )
- ADD_LIBRARY( icui18n_static STATIC ${ICU_I18N_SRC} )
- TARGET_INCLUDE_DIRECTORIES( icui18n_static PRIVATE ${ICU_CMN_INC_DIR} ${ICU_I18N_INC_DIR} )
- TARGET_COMPILE_DEFINITIONS( icui18n_static PUBLIC ${ICU_I18N_DEFS} ${ICU_GLOBAL_DEFS} )
- LIST( APPEND ICU_INSTALL_LIBS icui18n_static )
- ENDIF( ${ICU_BUILD_STATIC} )
- # Always build stubdata as a static library
- IF( ${ICU_BUILD_STUBDATA} )
- ADD_LIBRARY( icustubdata_static STATIC ${ICU_STUBDATA_SRC} )
- TARGET_INCLUDE_DIRECTORIES( icustubdata_static PRIVATE ${ICU_CMN_INC_DIR} )
- TARGET_COMPILE_DEFINITIONS( icustubdata_static PUBLIC ${ICU_GLOBAL_DEFS} )
- ENDIF( ${ICU_BUILD_STUBDATA} )
- ###
- # Setup Extras
- ###
- IF( ${ICU_BUILD_SHARED} )
- SET( UCONV_LIBS icui18n icuuc )
- ELSE( ${ICU_BUILD_SHARED} )
- SET( UCONV_LIBS icui18n_static icuuc_static )
- ENDIF( ${ICU_BUILD_SHARED} )
- IF( ${ICU_BUILD_EXTRAS} )
- IF( ${ICU_BUILD_UCONV} )
- ADD_EXECUTABLE( uconv ${UCONV_SRC} )
- ADD_DEPENDENCIES( uconv ${UCONV_LIBS} )
- TARGET_INCLUDE_DIRECTORIES( uconv PRIVATE ${ICU_CMN_INC_DIR} ${ICU_I18N_INC_DIR} )
- TARGET_COMPILE_DEFINITIONS( uconv PUBLIC ${ICU_GLOBAL_DEFS} )
- TARGET_LINK_LIBRARIES( uconv ${UCONV_LIBS} )
- LIST( APPEND ICU_INSTALL_LIBS uconv )
- ENDIF( ${ICU_BUILD_UCONV} )
- ENDIF( ${ICU_BUILD_EXTRAS} )
- ###
- # Installation Options
- ###
- INSTALL(TARGETS ${ICU_INSTALL_LIBS}
- ARCHIVE DESTINATION lib
- LIBRARY DESTINATION lib
- RUNTIME DESTINATION bin
- )
- INSTALL( DIRECTORY ${ICU_CMN_INST_DIR} DESTINATION include )
- INSTALL( DIRECTORY ${ICU_I18N_INST_DIR} DESTINATION include )
Advertisement