refactor: option to use QTextCodec from Qt5compat

This commit is contained in:
2024-09-28 23:46:00 +08:00
parent c9fc9346b7
commit 7192c8a1b7
4 changed files with 45 additions and 15 deletions

View File

@ -14,10 +14,16 @@ set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
option(USE_QTEXTCODEC "Use QTextCodec instead of QStringConverter, in case Qt is not built with ICU" OFF)
find_package(Qt6 6.6 COMPONENTS Widgets Multimedia Network LinguistTools REQUIRED)
find_package(KF6Codecs 6.1.0)
find_package(PkgConfig)
if (USE_QTEXTCODEC)
find_package(Qt6 6.6 COMPONENTS Core5Compat REQUIRED)
endif()
if (PKG_CONFIG_FOUND)
pkg_check_modules(TagLib taglib IMPORTED_TARGET)
endif ()
@ -73,14 +79,18 @@ else ()
target_link_libraries(${EXE_NAME} PRIVATE PkgConfig::TagLib)
endif ()
if (NOT TARGET KF6::Codecs)
target_compile_definitions(${EXE_NAME} PRIVATE NO_KCODECS=1)
else ()
if (TARGET KF6::Codecs)
target_compile_definitions(${EXE_NAME} PRIVATE HAVE_KCODECS=1)
target_link_libraries (${EXE_NAME} PRIVATE KF6::Codecs)
endif ()
target_link_libraries(${EXE_NAME} PRIVATE Qt::Widgets Qt::Multimedia Qt::Network)
if (USE_QTEXTCODEC)
target_compile_definitions(${EXE_NAME} PRIVATE USE_QTEXTCODEC=1)
target_link_libraries(${EXE_NAME} PRIVATE Qt6::Core5Compat)
endif()
# Install settings
if (WIN32)
# FIXME: try to avoid install to a "bin" subfolder under windows...