@@ -76,10 +76,14 @@ set(ICU_INCLUDE_DIRS "${ICU_INSTALL_DIR}/include")
7676
7777# Compile & link flags
7878
79+ set(ICU_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
80+ set(ICU_C_FLAGS "${CMAKE_C_FLAGS}")
81+ set(ICU_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
82+
7983if(NOT WIN32)
80- set(ICU_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -Wno-deprecated-declarations")
81- set(ICU_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -Wno-deprecated-declarations")
8284 set(ICU_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS}")
85+ set(ICU_CXX_FLAGS "${ICU_CXX_FLAGS} -fPIC -Wno-deprecated-declarations")
86+ set(ICU_C_FLAGS "${ICU_C_FLAGS} -fPIC -Wno-deprecated-declarations")
8387 if (CMAKE_DL_LIBS)
8488 set(ICU_LINKER_FLAGS "${ICU_LINKER_FLAGS} -l${CMAKE_DL_LIBS}")
8589 endif()
@@ -91,13 +95,16 @@ endif()
9195get_target_property(OPENVINO_RUNTIME_COMPILE_DEFINITIONS openvino::runtime INTERFACE_COMPILE_DEFINITIONS)
9296
9397if(OPENVINO_RUNTIME_COMPILE_DEFINITIONS)
94- message(INFO "Propagating OPENVINO_RUNTIME_COMPILE_DEFINITIONS to ICU: ${OPENVINO_RUNTIME_COMPILE_DEFINITIONS}")
9598 foreach(def IN LISTS OPENVINO_RUNTIME_COMPILE_DEFINITIONS)
9699 set(ICU_CXX_FLAGS "${ICU_CXX_FLAGS} -D${def}")
97100 set(ICU_C_FLAGS "${ICU_C_FLAGS} -D${def}")
98101 endforeach()
99102endif()
100103
104+ message(STATUS "ICU_CXX_FLAGS: ${ICU_CXX_FLAGS}")
105+ message(STATUS "ICU_C_FLAGS: ${ICU_C_FLAGS}")
106+ message(STATUS "ICU_LINKER_FLAGS: ${ICU_LINKER_FLAGS}")
107+
101108# Build
102109
103110#
@@ -187,8 +194,9 @@ function(ov_tokenizer_build_icu)
187194 SOURCE_DIR ${ICU_SOURCE_DIR}
188195 BINARY_DIR ${ARG_BUILD_DIR}
189196 INSTALL_DIR ${ARG_INSTALL_DIR}
197+ PATCH_COMMAND powershell -Command "(Get-ChildItem -Path <SOURCE_DIR>/source -Recurse -File -Filter "*.vcxproj" | ForEach-Object { (Get-Content $_.FullName) -replace '<DebugInformationFormat>EditAndContinue</DebugInformationFormat>', '<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>' | Set-Content $_.FullName })"
190198 CONFIGURE_COMMAND ""
191- BUILD_COMMAND msbuild ${ICU_SOURCE_DIR}\\source\\allinone\\allinone.sln /p:Configuration=${ICU_BUILD_TYPE} /p:Platform=x64 /t:i18n /t:uconv /t:makedata
199+ BUILD_COMMAND ${CMAKE_COMMAND} -E env CL=${ICU_CXX_FLAGS} LINK=${ICU_LINKER_FLAGS} msbuild ${ICU_SOURCE_DIR}\\source\\allinone\\allinone.sln /p:Configuration=${ICU_BUILD_TYPE} /p:Platform=x64 /t:i18n /t:uconv /t:makedata
192200 INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory ${ICU_SOURCE_DIR}/include ${ARG_INSTALL_DIR}/include &&
193201 ${CMAKE_COMMAND} -E copy_directory ${ICU_SOURCE_DIR}/lib64 ${ARG_INSTALL_DIR}/${ICU_BUILD_TYPE}/${ICU_INSTALL_LIB_SUBDIR} &&
194202 ${CMAKE_COMMAND} -E copy_directory ${ICU_SOURCE_DIR}/bin64 ${ARG_INSTALL_DIR}/${ICU_BUILD_TYPE}/${ICU_INSTALL_BIN_SUBDIR}
0 commit comments