Skip to content

Commit c896e8b

Browse files
authored
ICU compile flags (#440)
* get the ov:runtime compile defenitions properly * use common cmake flags * Revert "get the ov:runtime compile defenitions properly" This reverts commit 90740ec. * Revert "use common cmake flags" This reverts commit f8fc68d. * set ICU_LINKER_FLAGS * try AdditionalLinkerOptions * try AdditionalOptions * set CL and LINK env * patch icu * Update cmake/external/icu.cmake
1 parent 1bac6cf commit c896e8b

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

cmake/external/icu.cmake

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
7983
if(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()
9195
get_target_property(OPENVINO_RUNTIME_COMPILE_DEFINITIONS openvino::runtime INTERFACE_COMPILE_DEFINITIONS)
9296

9397
if(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()
99102
endif()
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

Comments
 (0)