Warning, /multimedia/k3b/libk3b/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001
0002 include(CheckFunctionExists)
0003 set(CMAKE_REQUIRED_LIBRARIES m)
0004 check_function_exists(lrint HAVE_LRINT)
0005 check_function_exists(lrintf HAVE_LRINTF)
0006
0007 configure_file(config-libk3b.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-libk3b.h )
0008
0009 add_subdirectory( core )
0010 add_subdirectory( plugin )
0011 add_subdirectory( tools )
0012 add_subdirectory( projects )
0013 add_subdirectory( jobs )
0014
0015 if(ENABLE_DVD_RIPPING)
0016 add_subdirectory(videodvd)
0017 set(videodvd_sources
0018 jobs/k3bvideodvdtitletranscodingjob.cpp
0019 jobs/k3bvideodvdtitledetectclippingjob.cpp
0020 videodvd/k3bvideodvd.cpp
0021 videodvd/k3bvideodvdtime.cpp
0022 videodvd/k3bvideodvdvideostream.cpp
0023 projects/videodvd/k3bvideodvddoc.cpp
0024 projects/videodvd/k3bvideodvdjob.cpp
0025 projects/videodvd/k3bvideodvdimager.cpp
0026 )
0027 set(videodvd_libraries dvdread)
0028 endif()
0029
0030 if(WIN32)
0031 set(platform_sources
0032 tools/qprocess/k3bqprocess_win.cpp
0033 tools/qprocess/private/qwineventnotifier_p.cpp
0034 tools/qprocess/private/qfsfileengine_win.cpp
0035 tools/qprocess/private/qfsfileengine.cpp
0036 tools/qprocess/private/qfsfileengine_iterator.cpp
0037 tools/qprocess/private/qfsfileengine_iterator_win.cpp
0038 )
0039 elseif(UNIX)
0040 set(platform_sources
0041 tools/qprocess/k3bqprocess_unix.cpp
0042 )
0043 endif()
0044
0045 add_library(k3blib SHARED
0046 core/k3bcore.cpp
0047 core/k3bglobals.cpp
0048 core/k3bdefaultexternalprograms.cpp
0049 core/k3bexternalbinmanager.cpp
0050 core/k3bversion.cpp
0051 core/k3bjob.cpp
0052 core/k3bkjobbridge.cpp
0053 core/k3bthread.cpp
0054 core/k3bthreadjob.cpp
0055 core/k3bglobalsettings.cpp
0056 core/k3bsimplejobhandler.cpp
0057 core/k3bthreadjobcommunicationevent.cpp
0058 tools/k3bwavefilewriter.cpp
0059 tools/k3bbusywidget.cpp
0060 tools/k3bdeviceselectiondialog.cpp
0061 tools/k3bmd5job.cpp
0062 tools/k3btitlelabel.cpp
0063 tools/k3bdevicecombobox.cpp
0064 tools/k3bstdguiitems.cpp
0065 tools/k3bvalidators.cpp
0066 tools/k3bthroughputestimator.cpp
0067 tools/k3biso9660.cpp
0068 tools/k3bmultichoicedialog.cpp
0069 tools/k3bdevicehandler.cpp
0070 tools/k3bcdparanoialib.cpp
0071 tools/k3bmsfedit.cpp
0072 tools/k3bcdtextvalidator.cpp
0073 tools/k3bintvalidator.cpp
0074 tools/k3bexceptions.cpp
0075 tools/k3bthreadwidget.cpp
0076 tools/k3bsignalwaiter.cpp
0077 tools/k3blibdvdcss.cpp
0078 tools/k3biso9660backend.cpp
0079 tools/k3bchecksumpipe.cpp
0080 tools/k3bintmapcombobox.cpp
0081 tools/k3bdirsizejob.cpp
0082 tools/k3bactivepipe.cpp
0083 tools/k3bfilesplitter.cpp
0084 tools/k3bfilesysteminfo.cpp
0085 tools/k3bdevicemodel.cpp
0086 tools/k3bmedium.cpp
0087 tools/k3bmediacache.cpp
0088 tools/k3bcddb.cpp
0089 tools/k3bprocess.cpp
0090 tools/qprocess/k3bqprocess.cpp
0091 tools/qprocess/k3bkprocess.cpp
0092 plugin/k3bplugin.cpp
0093 plugin/k3bpluginconfigwidget.cpp
0094 plugin/k3bpluginmanager.cpp
0095 plugin/k3baudiodecoder.cpp
0096 plugin/k3baudioencoder.cpp
0097 plugin/k3bprojectplugin.cpp
0098 projects/k3babstractwriter.cpp
0099 projects/k3bgrowisofswriter.cpp
0100 projects/k3bgrowisofshandler.cpp
0101 projects/k3bdoc.cpp
0102 projects/k3bcdrdaowriter.cpp
0103 projects/k3bcdrecordwriter.cpp
0104 projects/k3bcdrskinwriter.cpp
0105 projects/k3binffilewriter.cpp
0106 projects/k3btocfilewriter.cpp
0107 projects/k3bimagefilereader.cpp
0108 projects/k3bcuefileparser.cpp
0109 jobs/k3bdatatrackreader.cpp
0110 jobs/k3breadcdreader.cpp
0111 jobs/k3bcdcopyjob.cpp
0112 jobs/k3bclonejob.cpp
0113 jobs/k3baudiosessionreadingjob.cpp
0114 jobs/k3bdvdcopyjob.cpp
0115 jobs/k3baudiofileanalyzerjob.cpp
0116 jobs/k3baudiocuefilewritingjob.cpp
0117 jobs/k3bbinimagewritingjob.cpp
0118 jobs/k3biso9660imagewritingjob.cpp
0119 jobs/k3bdvdformattingjob.cpp
0120 jobs/k3bblankingjob.cpp
0121 jobs/k3bclonetocreader.cpp
0122 jobs/k3bverificationjob.cpp
0123 jobs/k3bdvdbooktypejob.cpp
0124 jobs/k3bmetawriter.cpp
0125 tools/libisofs/isofs.cpp
0126 projects/audiocd/k3baudiojob.cpp
0127 projects/audiocd/k3baudiotrack.cpp
0128 projects/audiocd/k3baudiotrackreader.cpp
0129 projects/audiocd/k3baudiodoc.cpp
0130 projects/audiocd/k3baudiodocreader.cpp
0131 projects/audiocd/k3baudiofile.cpp
0132 projects/audiocd/k3baudiofilereader.cpp
0133 projects/audiocd/k3baudiozerodata.cpp
0134 projects/audiocd/k3baudiozerodatareader.cpp
0135 projects/audiocd/k3baudiodatasource.cpp
0136 projects/audiocd/k3brawaudiodatareader.cpp
0137 projects/audiocd/k3brawaudiodatasource.cpp
0138 projects/audiocd/k3baudionormalizejob.cpp
0139 projects/audiocd/k3baudiojobtempdata.cpp
0140 projects/audiocd/k3baudioimager.cpp
0141 projects/audiocd/k3baudiomaxspeedjob.cpp
0142 projects/audiocd/k3baudiocdtrackreader.cpp
0143 projects/audiocd/k3baudiocdtracksource.cpp
0144 projects/audiocd/k3baudiocdtrackdrag.cpp
0145 projects/audiocd/k3baudiodatasourceiterator.cpp
0146 projects/datacd/k3bdatajob.cpp
0147 projects/datacd/k3bdatadoc.cpp
0148 projects/datacd/k3bdataitem.cpp
0149 projects/datacd/k3bdiritem.cpp
0150 projects/datacd/k3bfileitem.cpp
0151 projects/datacd/k3bisoimager.cpp
0152 projects/datacd/k3bbootitem.cpp
0153 projects/datacd/k3bisooptions.cpp
0154 projects/datacd/k3bfilecompilationsizehandler.cpp
0155 projects/datacd/k3bsessionimportitem.cpp
0156 projects/datacd/k3bmkisofshandler.cpp
0157 projects/datacd/k3bdatapreparationjob.cpp
0158 projects/datacd/k3bmsinfofetcher.cpp
0159 projects/datacd/k3bdatamultisessionparameterjob.cpp
0160 projects/mixedcd/k3bmixeddoc.cpp
0161 projects/mixedcd/k3bmixedjob.cpp
0162 projects/movixcd/k3bmovixprogram.cpp
0163 projects/movixcd/k3bmovixdoc.cpp
0164 projects/movixcd/k3bmovixjob.cpp
0165 projects/movixcd/k3bmovixfileitem.cpp
0166 projects/movixcd/k3bmovixdocpreparer.cpp
0167 projects/videocd/mpeginfo/k3bmpeginfo.cpp
0168 projects/videocd/k3bvcddoc.cpp
0169 projects/videocd/k3bvcdtrack.cpp
0170 projects/videocd/k3bvcdjob.cpp
0171 projects/videocd/k3bvcdoptions.cpp
0172 projects/videocd/k3bvcdxmlview.cpp
0173 ${videodvd_sources}
0174 ${platform_sources}
0175 )
0176
0177 target_include_directories(k3blib
0178 PUBLIC
0179 .
0180 core
0181 plugin
0182 tools
0183 projects
0184 projects/audiocd
0185 projects/datacd
0186 projects/videocd
0187 projects/mixedcd
0188 projects/movixcd
0189 projects/videodvd
0190 tools/qprocess
0191 jobs
0192 videodvd
0193 PRIVATE
0194 ${CMAKE_CURRENT_BINARY_DIR}
0195 ${CMAKE_CURRENT_BINARY_DIR}/core
0196 ${CMAKE_CURRENT_BINARY_DIR}/plugin
0197 ${CMAKE_CURRENT_BINARY_DIR}/tools
0198 ${CMAKE_CURRENT_BINARY_DIR}/projects
0199 ${CMAKE_CURRENT_BINARY_DIR}/jobs
0200 )
0201
0202 target_link_libraries(k3blib
0203 PUBLIC
0204 KF${KF_MAJOR_VERSION}::Completion
0205 KF${KF_MAJOR_VERSION}::CoreAddons
0206 KF${KF_MAJOR_VERSION}::KIOCore
0207 KF${KF_MAJOR_VERSION}::Service
0208 PRIVATE
0209 k3bdevice
0210 KF${KF_MAJOR_VERSION}::FileMetaData
0211 KF${KF_MAJOR_VERSION}::IconThemes
0212 KF${KF_MAJOR_VERSION}::I18n
0213 KF${KF_MAJOR_VERSION}::Solid
0214 Qt${QT_MAJOR_VERSION}::Network
0215 Qt${QT_MAJOR_VERSION}::Widgets
0216 Qt${QT_MAJOR_VERSION}::Xml
0217 ${KCDDB_TARGET_NAME}
0218 samplerate
0219 ${videodvd_libraries}
0220 )
0221 if (QT_MAJOR_VERSION STREQUAL "6")
0222 target_link_libraries(k3blib
0223 PUBLIC
0224 KF6::KCMUtils
0225 PRIVATE
0226 Qt6::Core5Compat
0227 )
0228 else()
0229 target_link_libraries(k3blib
0230 PUBLIC
0231 KF5::ConfigWidgets
0232 PRIVATE
0233 KF5::KCMUtils
0234 )
0235 endif()
0236
0237 if(WIN32)
0238 target_link_libraries(k3blib uuid ole32)
0239 endif(WIN32)
0240
0241 set_target_properties(k3blib PROPERTIES
0242 VERSION ${K3B_LIB_VERSION_MAJOR}.${K3B_LIB_VERSION_MINOR}.${K3B_LIB_VERSION_RELEASE}
0243 SOVERSION ${K3B_LIB_VERSION_MAJOR}
0244 )
0245
0246 generate_export_header(k3blib
0247 EXPORT_MACRO_NAME LIBK3B_EXPORT
0248 DEPRECATED_MACRO_NAME LIBK3B_EXPORT_DEPRECATED
0249 EXPORT_FILE_NAME k3b_export.h
0250 )
0251
0252 install(TARGETS k3blib ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
0253
0254 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/k3b_export.h DESTINATION ${KDE_INSTALL_INCLUDEDIR} COMPONENT Devel)