@@ -641,13 +641,18 @@ if(BUILD_TOOLS)
641641 target_link_libraries (pkgdata PRIVATE
642642 icuuc icutu)
643643
644+ add_executable (genccode
645+ source /tools/genccode/genccode.c)
646+ target_link_libraries (genccode PRIVATE
647+ icuuc icutu)
648+
644649 set (ICU_TOOLS_DIR ${CMAKE_CURRENT_BINARY_DIR} )
645650elseif (ICU_TOOLS_DIR)
646651 if (CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
647652 set (CMAKE_HOST_EXECUTABLE_SUFFIX .exe)
648653 endif ()
649654
650- foreach (tool gencnval;gencfu;makeconv;genbrk;gensprep;gendict;icupkg;genrb;pkgdata)
655+ foreach (tool gencnval;gencfu;makeconv;genbrk;gensprep;gendict;icupkg;genrb;pkgdata;genccode )
651656 add_executable (${tool} IMPORTED )
652657 set_target_properties (${tool} PROPERTIES
653658 IMPORTED_LOCATION ${ICU_TOOLS_DIR} /${tool}${CMAKE_HOST_EXECUTABLE_SUFFIX} )
@@ -736,13 +741,17 @@ else()
736741
737742 configure_file (icupkg.inc.cmake ${CMAKE_BINARY_DIR} /icupkg.inc)
738743
739- add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /data/tmp /${U_ICUDATA_PKGN} _dat.S
740- 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
744+ add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /data/${U_ICUDATA_PKGN} /${U_ICUDATA_PKGN} .dat
745+ 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
741746 DEPENDS pkgdata ${CMAKE_CURRENT_BINARY_DIR} /data/tmp/icudata.lst
742747 BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR} /data/tmp/${U_ICUDATA_PKGN} .dat)
743748
749+ add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /data/${U_ICUDATA_PKGN} /${U_ICUDATA_PKGN} _dat.S
750+ 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
751+ DEPENDS genccode ${CMAKE_CURRENT_BINARY_DIR} /data/${U_ICUDATA_PKGN} /${U_ICUDATA_PKGN} .dat)
752+
744753 add_library (${U_ICUDATA_NAME}
745- ${CMAKE_CURRENT_BINARY_DIR} /data/tmp /${U_ICUDATA_PKGN} _dat.S)
754+ ${CMAKE_CURRENT_BINARY_DIR} /data/${U_ICUDATA_PKGN} /${U_ICUDATA_PKGN} _dat.S)
746755 set_target_properties (${U_ICUDATA_NAME} PROPERTIES
747756 LINKER_LANGUAGE C
748757 LINK_OPTIONS "-nodefaultlibs;-nostdlib;-Bsymbolic"
0 commit comments