Require ICU

This commit is contained in:
Jonas Kvinge 2022-08-07 18:06:36 +02:00
parent a647f63bb0
commit 38db0764af
3 changed files with 27 additions and 16 deletions

View File

@ -2109,7 +2109,7 @@ jobs:
GST_PLUGIN_SCANNER: /usr/local/opt/gstreamer/libexec/gstreamer-1.0/gst-plugin-scanner GST_PLUGIN_SCANNER: /usr/local/opt/gstreamer/libexec/gstreamer-1.0/gst-plugin-scanner
GST_PLUGIN_PATH: /usr/local/lib/gstreamer-1.0 GST_PLUGIN_PATH: /usr/local/lib/gstreamer-1.0
working-directory: build working-directory: build
run: cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_WITH_QT6=ON -DBUILD_WERROR=OFF -DUSE_BUNDLE=ON -DCMAKE_PREFIX_PATH=/usr/local/opt/qt6/lib/cmake run: cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_WITH_QT6=ON -DBUILD_WERROR=OFF -DUSE_BUNDLE=ON -DCMAKE_PREFIX_PATH=/usr/local/opt/qt6/lib/cmake -DICU_ROOT=/usr/local/opt/icu4c
- name: Build - name: Build
working-directory: build working-directory: build

View File

@ -97,6 +97,8 @@ if(CCACHE_EXECUTABLE)
SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_LINK ${CCACHE_EXECUTABLE}) SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_LINK ${CCACHE_EXECUTABLE})
endif() endif()
option(USE_ICU "Use ICU" ON)
find_package(PkgConfig REQUIRED) find_package(PkgConfig REQUIRED)
find_package(Boost REQUIRED) find_package(Boost REQUIRED)
find_package(Threads) find_package(Threads)
@ -104,10 +106,13 @@ find_package(Backtrace)
if(Backtrace_FOUND) if(Backtrace_FOUND)
set(HAVE_BACKTRACE ON) set(HAVE_BACKTRACE ON)
endif() endif()
find_package(Iconv) if(USE_ICU)
find_package(ICU COMPONENTS uc i18n) find_package(ICU COMPONENTS uc i18n REQUIRED)
if(ICU_FOUND) if(ICU_FOUND)
set(HAVE_ICU ON) set(HAVE_ICU ON)
endif()
else()
find_package(Iconv)
endif() endif()
find_package(GnuTLS REQUIRED) find_package(GnuTLS REQUIRED)
find_package(Protobuf REQUIRED) find_package(Protobuf REQUIRED)

View File

@ -944,9 +944,14 @@ link_directories(
${SQLITE_LIBRARY_DIRS} ${SQLITE_LIBRARY_DIRS}
${SINGLEAPPLICATION_LIBRARY_DIRS} ${SINGLEAPPLICATION_LIBRARY_DIRS}
${SINGLECOREAPPLICATION_LIBRARY_DIRS} ${SINGLECOREAPPLICATION_LIBRARY_DIRS}
${Iconv_LIBRARY_DIRS}
) )
if(HAVE_ICU)
link_directories(${ICU_LIBRARY_DIRS})
else()
link_directories(${Iconv_LIBRARY_DIRS})
endif()
if(HAVE_ALSA) if(HAVE_ALSA)
link_directories(${ALSA_LIBRARY_DIRS}) link_directories(${ALSA_LIBRARY_DIRS})
endif() endif()
@ -1058,11 +1063,21 @@ target_link_libraries(strawberry_lib PUBLIC
${QT_LIBRARIES} ${QT_LIBRARIES}
${SINGLEAPPLICATION_LIBRARIES} ${SINGLEAPPLICATION_LIBRARIES}
${SINGLECOREAPPLICATION_LIBRARIES} ${SINGLECOREAPPLICATION_LIBRARIES}
${Iconv_LIBRARIES}
libstrawberry-common libstrawberry-common
libstrawberry-tagreader libstrawberry-tagreader
) )
if(HAVE_ICU)
target_include_directories(strawberry_lib SYSTEM PRIVATE ${ICU_INCLUDE_DIRS})
target_link_libraries(strawberry_lib PRIVATE ${ICU_LIBRARIES})
else()
if(FREEBSD AND NOT Iconv_LIBRARIES)
set(Iconv_LIBRARIES iconv)
endif()
target_include_directories(strawberry_lib SYSTEM PRIVATE ${Iconv_INCLUDE_DIRS})
target_link_libraries(strawberry_lib PRIVATE ${Iconv_LIBRARIES})
endif()
if(HAVE_ALSA) if(HAVE_ALSA)
target_include_directories(strawberry_lib SYSTEM PRIVATE ${ALSA_INCLUDE_DIRS}) target_include_directories(strawberry_lib SYSTEM PRIVATE ${ALSA_INCLUDE_DIRS})
target_link_libraries(strawberry_lib PRIVATE ${ALSA_LIBRARIES}) target_link_libraries(strawberry_lib PRIVATE ${ALSA_LIBRARIES})
@ -1141,15 +1156,6 @@ if(HAVE_LIBMTP)
target_link_libraries(strawberry_lib PRIVATE ${LIBMTP_LIBRARIES}) target_link_libraries(strawberry_lib PRIVATE ${LIBMTP_LIBRARIES})
endif() endif()
if(FREEBSD)
target_link_libraries(strawberry_lib PRIVATE iconv)
endif()
if(HAVE_ICU)
target_include_directories(strawberry_lib SYSTEM PRIVATE ${ICU_INCLUDE_DIRS})
target_link_libraries(strawberry_lib PRIVATE ${ICU_LIBRARIES})
endif()
if(APPLE) if(APPLE)
target_link_libraries(strawberry_lib PRIVATE target_link_libraries(strawberry_lib PRIVATE
"-framework AppKit" "-framework AppKit"