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)