@@ -48,6 +48,39 @@ target_link_libraries(percent_encode PRIVATE benchmark::benchmark)
48
48
49
49
option (ADA_COMPETITION "Whether to install various competitors." OFF )
50
50
51
+ # We only build url_whatwg if ICU is found, so we need to make
52
+ # finding ICU easy.
53
+
54
+ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin" )
55
+ message (STATUS "Apple system detected." )
56
+ # People who run macOS often use brew.
57
+ if (EXISTS /opt/homebrew/opt/icu4c)
58
+ message (STATUS "icu is provided by homebrew at /opt/homebrew/opt/icu4c." )
59
+ ## This is a bit awkward, but it is a lot better than asking the
60
+ ## user to figure that out.
61
+ list (APPEND CMAKE_PREFIX_PATH "/opt/homebrew/opt/icu4c/include" )
62
+ list (APPEND CMAKE_LIBRARY_PATH "/opt/homebrew/opt/icu4c/lib" )
63
+ elseif (EXISTS /usr/local/opt/icu4c)
64
+ message (STATUS "icu is provided by homebrew at /usr/local/opt/icu4c." )
65
+ list (APPEND CMAKE_PREFIX_PATH "/usr/local/opt/icu4c/include" )
66
+ list (APPEND CMAKE_LIBRARY_PATH "/usr/local/opt/icu4c/lib" )
67
+ endif ()
68
+ endif ()
69
+
70
+ find_package (ICU COMPONENTS uc i18n)
71
+ ### If the user does not have ICU, let us help them with instructions:
72
+ if (NOT ICU_FOUND)
73
+ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin" )
74
+ if (EXISTS /opt/homebrew)
75
+ message (STATUS "Under macOS, you may install ICU with brew, using 'brew install icu4c'." )
76
+ else ()
77
+ message (STATUS "Under macOS, you should install brew (see https://brew.sh) and then icu4c ('brew install icu4c')." )
78
+ endif ()
79
+ elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux" )
80
+ message (STATUS "Under Linux, you may be able to install ICU with a command such as 'apt-get install libicu-dev'." )
81
+ endif ()
82
+ endif (NOT ICU_FOUND)
83
+
51
84
if (ICU_FOUND)
52
85
set_off(URL_BUILD_TESTS)
53
86
set_off(URL_USE_LIBS)
0 commit comments