@@ -649,9 +649,14 @@ if(BUILD_TOOLS)
649649 target_link_libraries (pkgdata PRIVATE
650650 icuuc icutu)
651651
652+ add_executable (genccode
653+ source /tools/genccode/genccode.c)
654+ target_link_libraries (genccode PRIVATE
655+ icuuc icutu)
656+
652657 set (ICU_TOOLS_DIR ${CMAKE_CURRENT_BINARY_DIR} )
653658elseif (ICU_TOOLS_DIR)
654- foreach (tool gencnval;gencfu;makeconv;genbrk;gensprep;gendict;icupkg;genrb;pkgdata)
659+ foreach (tool gencnval;gencfu;makeconv;genbrk;gensprep;gendict;icupkg;genrb;pkgdata;genccode )
655660 add_executable (${tool} IMPORTED )
656661 set_target_properties (${tool} PROPERTIES
657662 IMPORTED_LOCATION ${ICU_TOOLS_DIR} /${tool}${CMAKE_EXECUTABLE_SUFFIX} )
@@ -740,13 +745,17 @@ else()
740745
741746 configure_file (icupkg.inc.cmake ${CMAKE_BINARY_DIR} /icupkg.inc)
742747
743- add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /data/tmp /${U_ICUDATA_PKGN} _dat.S
744- COMMAND $<TARGET_FILE:pkgdata> -f -e ${U_ICUDATA_NAME} -v -m $<IF:$< BOOL : ${BUILD_SHARED_LIBS} >,dll, static > -c -p ${U_ICUDATA_PKGN} -T ${CMAKE_CURRENT_BINARY_DIR} /data/tmp -L ${U_ICUDATA_NAME} -d ${CMAKE_CURRENT_BINARY_DIR} /data/${U_ICUDATA_PKGN} -s ${CMAKE_CURRENT_BINARY_DIR} /data/${U_ICUDATA_PKGN} ${CMAKE_CURRENT_BINARY_DIR} /data/tmp/icudata.lst -O ${CMAKE_BINARY_DIR} /icupkg.inc
748+ add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /data/${U_ICUDATA_PKGN} /${U_ICUDATA_PKGN} .dat
749+ COMMAND $<TARGET_FILE:pkgdata> -f -e ${U_ICUDATA_NAME} -v -m archive -c -p ${U_ICUDATA_PKGN} -T ${CMAKE_CURRENT_BINARY_DIR} /data/tmp -L ${U_ICUDATA_NAME} -d ${CMAKE_CURRENT_BINARY_DIR} /data/${U_ICUDATA_PKGN} -s ${CMAKE_CURRENT_BINARY_DIR} /data/${U_ICUDATA_PKGN} ${CMAKE_CURRENT_BINARY_DIR} /data/tmp/icudata.lst -O ${CMAKE_BINARY_DIR} /icupkg.inc
745750 DEPENDS pkgdata ${CMAKE_CURRENT_BINARY_DIR} /data/tmp/icudata.lst
746751 BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR} /data/tmp/${U_ICUDATA_PKGN} .dat)
747752
753+ add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /data/${U_ICUDATA_PKGN} /${U_ICUDATA_PKGN} _dat.S
754+ COMMAND $<TARGET_FILE:genccode> -e ${U_ICUDATA_NAME} -a gcc -d ${CMAKE_CURRENT_BINARY_DIR} /data/${U_ICUDATA_PKGN} ${CMAKE_CURRENT_BINARY_DIR} /data/${U_ICUDATA_PKGN} /${U_ICUDATA_PKGN} .dat
755+ DEPENDS genccode ${CMAKE_CURRENT_BINARY_DIR} /data/${U_ICUDATA_PKGN} /${U_ICUDATA_PKGN} .dat)
756+
748757 add_library (${U_ICUDATA_NAME}
749- ${CMAKE_CURRENT_BINARY_DIR} /data/tmp /${U_ICUDATA_PKGN} _dat.S)
758+ ${CMAKE_CURRENT_BINARY_DIR} /data/${U_ICUDATA_PKGN} /${U_ICUDATA_PKGN} _dat.S)
750759 set_target_properties (${U_ICUDATA_NAME} PROPERTIES
751760 LINKER_LANGUAGE C
752761 LINK_OPTIONS "-nodefaultlibs;-nostdlib;-Bsymbolic"
0 commit comments