Warning, /network/kio-extras/smb/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 remove_definitions(
0002     -DQT_NO_CAST_FROM_ASCII
0003     -DQT_NO_CAST_FROM_BYTEARRAY
0004 )
0005 
0006 find_package(KDSoapWSDiscoveryClient REQUIRED)
0007 
0008 find_package(Threads REQUIRED)
0009 
0010 add_definitions(-DTRANSLATION_DOMAIN=\"kio6_smb\")
0011 
0012 include(CheckIncludeFile)
0013 include(CheckSymbolExists)
0014 set(CMAKE_AUTOMAKE ON)
0015 
0016 cmake_push_check_state()
0017 list(APPEND CMAKE_REQUIRED_INCLUDES ${SAMBA_INCLUDE_DIR})
0018 list(APPEND CMAKE_REQUIRED_LIBRARIES ${SAMBA_LIBRARIES})
0019 check_symbol_exists(smbc_readdirplus2 "libsmbclient.h" HAVE_READDIRPLUS2)
0020 cmake_pop_check_state()
0021 check_include_file(utime.h HAVE_UTIME_H)
0022 
0023 configure_file(config-smb.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-smb.h)
0024 
0025 # Intermediate static lib target for reuse in testing.
0026 add_library(kio_smb_static STATIC)
0027 
0028 target_sources(kio_smb_static PRIVATE
0029     kio_smb.cpp
0030     kio_smb_auth.cpp
0031     kio_smb_browse.cpp
0032     kio_smb_config.cpp
0033     kio_smb_dir.cpp
0034     kio_smb_file.cpp
0035     smburl.cpp
0036     kio_smb_mount.cpp
0037     wsdiscoverer.cpp
0038     dnssddiscoverer.cpp
0039     discovery.cpp
0040     transfer.cpp
0041     smbcdiscoverer.cpp
0042     smbcontext.cpp
0043     smbauthenticator.cpp
0044 )
0045 
0046 ecm_qt_declare_logging_category(kio_smb_static
0047     HEADER smb-logsettings.h
0048     IDENTIFIER KIO_SMB_LOG
0049     CATEGORY_NAME kf.kio.workers.smb
0050     OLD_CATEGORY_NAMES log_kio_smb kf.kio.slaves.smb
0051     DESCRIPTION "KIO smb"
0052     EXPORT KIO_EXTRAS
0053 )
0054 
0055 set_property(TARGET kio_smb_static PROPERTY POSITION_INDEPENDENT_CODE ON)
0056 
0057 include_directories(${SAMBA_INCLUDE_DIR})
0058 
0059 target_include_directories(kio_smb_static
0060     PUBLIC
0061         "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_CURRENT_BINARY_DIR};${CMAKE_CURRENT_SOURCE_DIR}/..;${CMAKE_CURRENT_BINARY_DIR}/..>"
0062 )
0063 target_link_libraries(kio_smb_static
0064     KF6::KIOCore
0065     KF6::I18n
0066     KF6::ConfigCore
0067     ${SAMBA_LIBRARIES}
0068     Qt::Network
0069     KF6::DNSSD
0070     KDSoap::WSDiscoveryClient
0071     Threads::Threads # std::async
0072 )
0073 if (QT_MAJOR_VERSION EQUAL "6")
0074     target_link_libraries(kio_smb_static Qt6::Core5Compat)
0075 endif()
0076 
0077 # Final plugin target.
0078 add_library(kio_smb MODULE main.cpp)
0079 target_link_libraries(kio_smb
0080     kio_smb_static
0081 )
0082 
0083 set_target_properties(kio_smb PROPERTIES OUTPUT_NAME "smb")
0084 set_target_properties(kio_smb PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/kf6/kio")
0085 
0086 install(TARGETS kio_smb DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf6/kio)
0087 install(FILES smb-network.desktop DESTINATION ${KDE_INSTALL_DATADIR}/konqueror/dirtree/remote)
0088 install(FILES smb-network.desktop DESTINATION ${KDE_INSTALL_DATADIR}/remoteview)
0089 
0090 option(WITH_SHAREDMIMEINFO "Build with shared shared-mime-info and update mimetype database on install" ON)
0091 if(WITH_SHAREDMIMEINFO)
0092     install(FILES org.kde.kio.smb.xml DESTINATION ${KDE_INSTALL_MIMEDIR})
0093     find_package(SharedMimeInfo 1.3)
0094     set_package_properties(SharedMimeInfo PROPERTIES
0095         TYPE REQUIRED
0096         PURPOSE "Used to update the mimetype database")
0097     update_xdg_mimetypes(${KDE_INSTALL_MIMEDIR})
0098 endif()
0099 
0100 if (BUILD_TESTING)
0101     add_subdirectory(autotests)
0102 endif()
0103 add_subdirectory(kded)