diff options
author | Jan Vorlicek <janvorli@microsoft.com> | 2016-10-26 11:46:24 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-26 11:46:24 +0200 |
commit | cf0c28faec35090781799df0a2360cf2440d05ce (patch) | |
tree | c63e4cc210046d0a3d51530951491d4e59ada15d /src/corefx/System.Globalization.Native/CMakeLists.txt | |
parent | 14a139d05e1e53552e991ddec915026c022c8071 (diff) | |
download | coreclr-cf0c28faec35090781799df0a2360cf2440d05ce.tar.gz coreclr-cf0c28faec35090781799df0a2360cf2440d05ce.tar.bz2 coreclr-cf0c28faec35090781799df0a2360cf2440d05ce.zip |
Remove dependency of System.Globalization.Native.so on specific ICU version (#7773)
Remove dependency of System.Globalization.Native.so on specific ICU version
Diffstat (limited to 'src/corefx/System.Globalization.Native/CMakeLists.txt')
-rw-r--r-- | src/corefx/System.Globalization.Native/CMakeLists.txt | 34 |
1 files changed, 27 insertions, 7 deletions
diff --git a/src/corefx/System.Globalization.Native/CMakeLists.txt b/src/corefx/System.Globalization.Native/CMakeLists.txt index 3d9e392132..5892856dfe 100644 --- a/src/corefx/System.Globalization.Native/CMakeLists.txt +++ b/src/corefx/System.Globalization.Native/CMakeLists.txt @@ -14,7 +14,7 @@ if(UTYPES_H STREQUAL UTYPES_H-NOTFOUND) return() endif() -if(NOT CLR_CMAKE_PLATFORM_DARWIN) +if (FEATURE_FIXED_ICU_VERSION AND NOT CLR_CMAKE_PLATFORM_DARWIN) find_library(ICUUC icuuc) if(ICUUC STREQUAL ICUUC-NOTFOUND) message(FATAL_ERROR "Cannot find libicuuc, try installing libicu-dev (or the appropriate package for your platform)") @@ -26,12 +26,16 @@ if(NOT CLR_CMAKE_PLATFORM_DARWIN) message(FATAL_ERROR "Cannot find libicui18n, try installing libicu-dev (or the appropriate package for your platform)") return() endif() -else() +endif() + +if(CLR_CMAKE_PLATFORM_DARWIN) find_library(ICUCORE icucore) if(ICUI18N STREQUAL ICUCORE-NOTFOUND) message(FATAL_ERROR "Cannot find libicucore, skipping build for System.Globalization.Native. .NET globalization is not expected to function.") return() endif() + # On Darwin, we always use the OS provided ICU + SET(FEATURE_FIXED_ICU_VERSION 1) endif() include(configure.cmake) @@ -50,6 +54,12 @@ set(NATIVEGLOBALIZATION_SOURCES timeZoneInfo.cpp ) +if (NOT FEATURE_FIXED_ICU_VERSION) + list(APPEND NATIVEGLOBALIZATION_SOURCES + icushim.cpp + ) +endif() + include_directories(${UTYPES_H}) _add_library(System.Globalization.Native @@ -60,11 +70,21 @@ _add_library(System.Globalization.Native # Disable the "lib" prefix. set_target_properties(System.Globalization.Native PROPERTIES PREFIX "") +if (FEATURE_FIXED_ICU_VERSION) + add_definitions(-DFEATURE_FIXED_ICU_VERSION) +endif() + if(NOT CLR_CMAKE_PLATFORM_DARWIN) - target_link_libraries(System.Globalization.Native - ${ICUUC} - ${ICUI18N} - ) + if (FEATURE_FIXED_ICU_VERSION) + target_link_libraries(System.Globalization.Native + ${ICUUC} + ${ICUI18N} + ) + elseif(NOT CMAKE_SYSTEM_NAME STREQUAL FreeBSD AND NOT CMAKE_SYSTEM_NAME STREQUAL NetBSD) + target_link_libraries(System.Globalization.Native + dl + ) + endif() else() target_link_libraries(System.Globalization.Native ${ICUCORE} @@ -74,4 +94,4 @@ else() endif() # add the install targets -install_clr(System.Globalization.Native)
\ No newline at end of file +install_clr(System.Globalization.Native) |