1
0
mirror of https://invent.kde.org/system/dolphin synced 2024-07-02 16:31:23 +00:00

Fix musl build by using fts_* from external library

musl does not support fts. There is however a standalone package that
can be used, but it must be linked against. This commit adds a check
that makes sure to link to the external library if it is required.
This commit is contained in:
Bart Ribbers 2023-08-09 14:07:46 +02:00 committed by Méven Car
parent 521f4937d5
commit 32a5f1c041
2 changed files with 19 additions and 0 deletions

View File

@ -27,6 +27,8 @@ include(GenerateExportHeader)
include(FeatureSummary)
include(ECMQtDeclareLoggingCategory)
include(ECMDeprecationSettings)
include(CheckIncludeFiles)
include(CheckLibraryExists)
ecm_setup_version(${RELEASE_SERVICE_VERSION} VARIABLE_PREFIX DOLPHIN
VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/src/dolphin_version.h"
@ -150,6 +152,21 @@ else()
set(HAVE_TERMINAL TRUE)
endif()
# Compatibility with platforms without native fts (e.g. musl)
check_include_files("sys/types.h;sys/stat.h;fts.h" HAVE_FTS_H)
if(HAVE_FTS_H)
check_function_exists(fts_open HAVE_FTS_OPEN)
if(NOT HAVE_FTS_OPEN)
check_library_exists(fts fts_open "" HAVE_LIB_FTS)
endif()
endif()
if(HAVE_LIB_FTS)
set(FTS_LIB fts)
else()
set(FTS_LIB "")
endif()
add_subdirectory(src)
add_subdirectory(doc)

View File

@ -213,6 +213,8 @@ target_link_libraries(
KF6::KCMUtils
KF6::MoreTools
${FTS_LIB}
)
if(HAVE_BALOO)