Warning, /utilities/okteta/kasten/controllers/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 set(OKTETAKASTENCONTROLLERS_VERSION ${OKTETAKASTEN_LIB_VERSION})
0002 set(OKTETAKASTENCONTROLLERS_SO_VERSION ${OKTETAKASTEN_LIB_SOVERSION})
0003 
0004 set( LIBFRAMESPRINT_REL_DIR ../../libs/framesprint )
0005 
0006 add_definitions(-DTRANSLATION_DOMAIN=\"liboktetakasten\")
0007 
0008 set(HAVE_QCA2 ${Qca-qt5_FOUND})
0009 configure_file(config-qca2.hpp.in  ${CMAKE_CURRENT_BINARY_DIR}/config-qca2.hpp)
0010 
0011 macro(OKTETAKASTENCONTROLLERS_ADD_SUBLIBRARY _subdir)
0012     okteta_add_sublibrary(Controllers NAMESPACE Okteta Kasten
0013         REVERSE_NAMESPACE_INCLUDEDIR
0014         SUBDIR ${_subdir}
0015         ${ARGN}
0016     )
0017 endmacro()
0018 
0019 macro(OKTETAKASTENCONTROLLERS_ADD_SUBLIBRARY_STRUCTURES_TESTED _subdir)
0020     okteta_add_sublibrary(Controllers NAMESPACE Okteta Kasten
0021         REVERSE_NAMESPACE_INCLUDEDIR
0022         SOURCE_TAG structures_tested
0023         SUBDIR ${_subdir}
0024         ${ARGN}
0025     )
0026 endmacro()
0027 
0028 
0029 oktetakastencontrollers_add_sublibrary(libconfigentries
0030     PRIVATE
0031         AddressComboBoxCodingConfigEntry
0032         ByteArrayCodingConfigEntry
0033         ByteArrayComboBoxCodingConfigEntry
0034         CaseSensitivityConfigEntry
0035         DirectionConfigEntry
0036         EndiannessConfigEntry
0037         FindDirectionConfigEntry
0038 )
0039 
0040 oktetakastencontrollers_add_sublibrary(document/info
0041     PUBLIC
0042         DocumentInfoToolFactory
0043         DocumentInfoToolViewFactory
0044     PRIVATE
0045         ByteArrayModelIoDevice
0046         DocumentInfoView
0047         DocumentInfoTool
0048         DocumentInfoToolView
0049 )
0050 
0051 # unused, TODO: remove?
0052 if (FALSE)
0053 oktetakastencontrollers_add_sublibrary(document/overwriteonly
0054     PUBLIC
0055         OverwriteOnlyControllerFactory
0056     PRIVATE
0057         OverwriteOnlyController
0058 )
0059 endif()
0060 
0061 oktetakastencontrollers_add_sublibrary(view/overwritemode
0062     PUBLIC
0063         OverwriteModeControllerFactory
0064     PRIVATE
0065         OverwriteModeController
0066 )
0067 oktetakastencontrollers_add_sublibrary(view/info
0068     PUBLIC
0069         InfoToolFactory
0070         InfoToolViewFactory
0071     PRIVATE
0072         CreateStatisticJob
0073         StatisticDisplayModel
0074         StatisticTableModel
0075         InfoView
0076         InfoTool
0077         InfoToolView
0078     KCFG
0079         infoviewsettings.kcfgc
0080 )
0081 
0082 oktetakastencontrollers_add_sublibrary(view/stringsextract
0083     PUBLIC
0084         StringsExtractToolFactory
0085         StringsExtractToolViewFactory
0086     PRIVATE
0087         ExtractStringsJob
0088         ContainedStringTableModel
0089         StringsExtractView
0090         ContainedString
0091         StringsExtractTool
0092         StringsExtractToolView
0093 )
0094 
0095 oktetakastencontrollers_add_sublibrary(view/libbytearraychecksum
0096     PRIVATE
0097         AbstractByteArrayChecksumAlgorithm
0098         AbstractByteArrayChecksumParameterSet
0099         AbstractByteArrayChecksumParameterSetEdit
0100         ByteArrayChecksumAlgorithmFactory
0101         ByteArrayChecksumParameterSetEditFactory
0102 )
0103 if( Qca-qt5_FOUND )
0104     set( QCA2CHECKSUM_CLASSES
0105         Qca2ByteArrayChecksumAlgorithm
0106     )
0107 endif()
0108 oktetakastencontrollers_add_sublibrary(view/libbytearraychecksum/algorithm
0109     PRIVATE
0110         Crc32ByteArrayChecksumAlgorithm
0111         Crc64ByteArrayChecksumAlgorithm
0112         Adler32ByteArrayChecksumAlgorithm
0113         ModSum8ByteArrayChecksumAlgorithm
0114         ModSum16ByteArrayChecksumAlgorithm
0115         ModSum32ByteArrayChecksumAlgorithm
0116         ModSum64ByteArrayChecksumAlgorithm
0117 ## NEWCHECKSUM(start)
0118 ## Here add the names of your classes of your checksum algorithm,
0119 ## e.g.
0120 ##         MyByteArrayChecksumAlgorithm
0121 ## NEWCHECKSUM(end)
0122         NoByteArrayChecksumParameterSet
0123         NoByteArrayChecksumParameterSetEdit
0124         ModSumByteArrayChecksumParameterSet
0125         ModSumByteArrayChecksumParameterSetEdit
0126         Crc64ByteArrayChecksumParameterSet
0127         Crc64ByteArrayChecksumParameterSetEdit
0128 ## NEWCHECKSUMPARAMETERSET(start)
0129 ## Here add the names of your classes of your checksum parameter set and
0130 ## of the widget to edit the checksum parameter set,
0131 ## e.g.
0132 ##         MyByteArrayChecksumParameterSet
0133 ##         MyByteArrayChecksumParameterSetEdit
0134 ## NEWCHECKSUMPARAMETERSET(end)
0135         ${QCA2CHECKSUM_CLASSES}
0136 )
0137 
0138 oktetakastencontrollers_add_sublibrary(view/checksum
0139     PUBLIC
0140         ChecksumToolFactory
0141         ChecksumToolViewFactory
0142     PRIVATE
0143         ChecksumCalculateJob
0144         ChecksumLogging
0145         ChecksumView
0146         ChecksumTool
0147         ChecksumToolView
0148 )
0149 
0150 oktetakastencontrollers_add_sublibrary(view/libfinddialog
0151     PUBLIC
0152         FindDirection
0153     PRIVATE
0154         AbstractFindDialog
0155 )
0156 
0157 oktetakastencontrollers_add_sublibrary(view/libbytearraysearch
0158     PRIVATE
0159         ByteArraySearchJob
0160         ByteArraySearchUtils
0161 )
0162 
0163 oktetakastencontrollers_add_sublibrary(view/poddecoder/typecodecs
0164     PRIVATE
0165         Binary8Codec
0166         Octal8Codec
0167         Hexadecimal8Codec
0168         UInt8Codec
0169         UInt16Codec
0170         UInt32Codec
0171         UInt64Codec
0172         SInt8Codec
0173         SInt16Codec
0174         SInt32Codec
0175         SInt64Codec
0176         Float32Codec
0177         Float64Codec
0178         Char8Codec
0179         Utf8Codec
0180 )
0181 
0182 oktetakastencontrollers_add_sublibrary(view/poddecoder
0183     PUBLIC
0184         PODDecoderToolFactory
0185         PODDecoderToolViewFactory
0186     PRIVATE
0187         PODData
0188         PODDisplayModel
0189         PODTableModel
0190         PODDelegate
0191         PODTableView
0192         PODDecoderTool
0193         PODDecoderToolView
0194 )
0195 
0196 oktetakastencontrollers_add_sublibrary(view/poddecoder/types
0197     SOURCE_TAG typeeditor
0198     PRIVATE
0199         Char8
0200 )
0201 
0202 oktetakastencontrollers_add_sublibrary(view/poddecoder/typeeditors
0203     SOURCE_TAG typeeditor
0204     PRIVATE
0205         AbstractValue8Editor
0206         Binary8Editor
0207         Octal8Editor
0208         Hexadecimal8Editor
0209         UIntSpinBox
0210         SIntSpinBox
0211         Float32Editor
0212         Float64Editor
0213         Char8Editor
0214         Char8StringParser
0215         Char8StringValidator
0216         Utf8Editor
0217 )
0218 
0219 oktetakastencontrollers_add_sublibrary(view/bytetable
0220     PUBLIC
0221         ByteTableToolFactory
0222         ByteTableToolViewFactory
0223     PRIVATE
0224         ByteTableModel
0225         ByteTableView
0226         ByteTableTool
0227         ByteTableToolView
0228     KCFG
0229         bytetableviewsettings.kcfgc
0230 )
0231 
0232 oktetakastencontrollers_add_sublibrary(view/search
0233     PUBLIC
0234         SearchControllerFactory
0235     PRIVATE
0236         SearchUserQueryable
0237         SearchDialog
0238         SearchTool
0239         SearchController
0240 )
0241 
0242 oktetakastencontrollers_add_sublibrary(view/replace
0243     PUBLIC
0244         ReplaceControllerFactory
0245     PRIVATE
0246         ReplaceUserQueryable
0247         ReplaceController
0248         ReplaceDialog
0249         ReplacePrompt
0250         ReplaceJob
0251         ReplaceTool
0252 )
0253 
0254 oktetakastencontrollers_add_sublibrary(view/libbytearrayfilter
0255     PRIVATE
0256         AbstractByteArrayFilter
0257         AbstractByteArrayFilterParameterSet
0258         AbstractByteArrayFilterParameterSetEdit
0259         ByteArrayFilterFactory
0260         ByteArrayFilterParameterSetEditFactory
0261 )
0262 
0263 oktetakastencontrollers_add_sublibrary(view/libbytearrayfilter/filter
0264     PRIVATE
0265         NoByteArrayFilterParameterSet
0266         OperandByteArrayFilterParameterSet
0267         ReverseByteArrayFilterParameterSet
0268         RotateByteArrayFilterParameterSet
0269 ## NEWFILTERPARAMETERSET(start)
0270 ## Here add the names of your classes of your filter parameter set,
0271 ## e.g.
0272 ##         MyByteArrayFilterParameterSet
0273 ## NEWFILTERPARAMETERSET(end)
0274         AndByteArrayFilter
0275         OrByteArrayFilter
0276         XorByteArrayFilter
0277         InvertByteArrayFilter
0278         ReverseByteArrayFilter
0279         RotateByteArrayFilter
0280         ShiftByteArrayFilter
0281 ## NEWFILTER(start)
0282 ## Here add the names of your classes of your filter,
0283 ## e.g.
0284 ##         MyByteArrayFilter
0285 ## NEWFILTER(end)
0286         NoByteArrayFilterParameterSetedit
0287         OperandByteArrayFilterParameterSetedit
0288         ReverseByteArrayFilterParameterSetedit
0289         RotateByteArrayFilterParameterSetedit
0290 ## NEWFILTERPARAMETERSET(start)
0291 ## Here add the names of your classes of your widget to edit the filter parameter set,
0292 ## e.g.
0293 ##         MyByteArrayFilterParameterSetedit
0294 ## NEWFILTERPARAMETERSET(end)
0295 )
0296 oktetakastencontrollers_add_sublibrary(view/filter
0297     PUBLIC
0298         FilterToolFactory
0299         FilterToolViewFactory
0300     PRIVATE
0301         FilterJob
0302         FilterView
0303         FilterTool
0304         FilterToolView
0305 )
0306 
0307 oktetakastencontrollers_add_sublibrary(view/charsetconversion
0308     PUBLIC
0309         CharsetConversionToolFactory
0310         CharsetConversionToolViewFactory
0311     PRIVATE
0312         CharsetConversionJob
0313         CharsetConversionView
0314         CharsetConversionTool
0315         CharsetConversionToolView
0316 )
0317 
0318 oktetakastencontrollers_add_sublibrary(view/gotooffset
0319     PUBLIC
0320         GotoOffsetControllerFactory
0321     PRIVATE
0322         GotoOffsetTool
0323         GotoOffsetView
0324         GotoOffsetToolView
0325         GotoOffsetController
0326 )
0327 
0328 oktetakastencontrollers_add_sublibrary(view/selectrange
0329     PUBLIC
0330         SelectRangeControllerFactory
0331     PRIVATE
0332         SelectRangeTool
0333         SelectRangeView
0334         SelectRangeToolView
0335         SelectRangeController
0336 )
0337 
0338 oktetakastencontrollers_add_sublibrary(view/bookmarks
0339     PUBLIC
0340         BookmarksControllerFactory
0341     PRIVATE
0342         BookmarkEditPopup
0343         BookmarksController
0344 )
0345 
0346 oktetakastencontrollers_add_sublibrary(view/bookmarks
0347     PUBLIC
0348         BookmarksToolFactory
0349         BookmarksToolViewFactory
0350     PRIVATE
0351         BookmarkListModel
0352         BookmarksView
0353         BookmarksTool
0354         BookmarksToolView
0355 )
0356 
0357 
0358 oktetakastencontrollers_add_sublibrary_structures_tested(view/structures/datatypes
0359     PRIVATE
0360         TopLevelDataInformation
0361         DataInformation
0362         DataInformationbase
0363         DummyDataInformation
0364         DataInformationwithchildren
0365         StructureDataInformation
0366         TaggedUnionDataInformation
0367         UnionDataInformation
0368         PrimitiveFactory
0369         PrimitiveDataType
0370 )
0371 
0372 oktetakastencontrollers_add_sublibrary_structures_tested(view/structures/datatypes/array
0373     PRIVATE
0374         ArrayDataInformation
0375         AbstractArrayData
0376         ComplexArrayData
0377         PrimitiveArrayData
0378 )
0379 
0380 oktetakastencontrollers_add_sublibrary_structures_tested(view/structures/datatypes/primitive
0381     PRIVATE
0382         PointerDataInformation
0383         CharDataInformation
0384         DoubleDataInformation
0385         FloatDataInformation
0386         SIntDataInformation
0387         UIntDataInformation
0388         BoolDataInformation
0389         FlagDataInformation
0390         PrimitiveDataInformation
0391         BasicPrimitiveDataInformation
0392         EnumDataInformation
0393         EnumDefinition
0394 )
0395 
0396 oktetakastencontrollers_add_sublibrary_structures_tested(view/structures/datatypes/primitive/bitfield
0397     PRIVATE
0398         AbstractBitfieldDataInformation
0399         BoolBitfieldDataInformation
0400         SignedBitfieldDataInformation
0401         UnsignedBitfieldDataInformation
0402 )
0403 
0404 oktetakastencontrollers_add_sublibrary_structures_tested(view/structures/datatypes/strings
0405     PRIVATE
0406         StringDataInformation
0407         StringData
0408         AsciiStringData
0409         Latin1StringData
0410         Utf8StringData
0411         Utf16StringData
0412         Utf32StringData
0413         EbcdicStringData
0414 )
0415 oktetakastencontrollers_add_sublibrary_structures_tested(../../core/codecs
0416     PRIVATE
0417         Ebcdic1047CharCodec
0418 )
0419 
0420 oktetakastencontrollers_add_sublibrary_structures_tested(view/structures/script
0421     PRIVATE
0422         ScriptEngineInitializer
0423         ScriptHandler
0424         ScriptHandlerInfo
0425         ScriptLogger
0426         ScriptLoggerView
0427         SafeReference
0428 )
0429 
0430 oktetakastencontrollers_add_sublibrary_structures_tested(view/structures/script/classes
0431     PRIVATE
0432         DefaultScriptClass
0433         ArrayScriptClass
0434         PrimitiveScriptClass
0435         EnumScriptClass
0436         PointerScriptClass
0437         BitfieldScriptClass
0438         StringScriptClass
0439         StructUnionScriptClass
0440 )
0441 
0442 oktetakastencontrollers_add_sublibrary_structures_tested(view/structures/parsers
0443     PRIVATE
0444         AbstractStructureParser
0445         OsdParser
0446         ScriptFileParser
0447         ScriptValueConverter
0448         DataInformationFactory
0449         ParserUtils
0450 )
0451 
0452 oktetakastencontrollers_add_sublibrary_structures_tested(view/structures/settings
0453     KCFG
0454         structureviewpreferences.kcfgc
0455 )
0456 
0457 oktetakastencontrollers_add_sublibrary_structures_tested(view/structures
0458     PRIVATE
0459         AllPrimitiveTypes
0460         StructLogging
0461 )
0462 
0463 #these source files are not needed by the static library for unit tests, therefore keep them separate
0464 oktetakastencontrollers_add_sublibrary(view/structures/settings
0465     PRIVATE
0466         StructureAddRemoveWidget
0467         StructuresSelectionDialog
0468         StructureViewSettingsWidget
0469         StructuresManagerView
0470     UI structureviewsettingswidget.ui
0471 )
0472 oktetakastencontrollers_add_sublibrary(view/structures
0473     PUBLIC
0474         StructuresToolFactory
0475         StructuresToolViewFactory
0476     PRIVATE
0477         StructuresManager
0478         StructuresTool
0479         StructureTreeModel
0480         StructureDefinitionFile
0481 #   view/structures/modeltest.cpp
0482         StructureView
0483         StructuresToolView
0484         StructureViewItemDelegate
0485 )
0486 
0487 # structurestool.h cannot be installed as it pulls (too) many private uninstalled headers
0488 # KF5 TODO: any tools/controllers and views should be created by the resp. factories
0489 # since some time, no more directly.
0490 # So on next ABI change depublish tools/controllers & their views
0491 # For now keeping all installed, in case someone is using them still/already.
0492 # structtoolview.h is not useful, but we keep installing the header just in case someone includes it
0493 
0494 oktetakastencontrollers_add_sublibrary(${LIBFRAMESPRINT_REL_DIR}
0495     PRIVATE
0496         AbstractFrameRenderer
0497         FramesToPaperPrinter
0498         HeaderFooterFrameRenderer
0499 )
0500 
0501 oktetakastencontrollers_add_sublibrary(view/print
0502     PUBLIC
0503         PrintControllerFactory
0504     PRIVATE
0505         PrintTool
0506         PrintJob
0507         AbstractColumnFrameRenderer
0508         PrintColumnStylist
0509         ByteArrayFrameRenderer
0510         PrintDialog
0511         PrintController
0512 )
0513 set_source_files_properties(view/print/printtool.cpp PROPERTIES
0514     COMPILE_FLAGS -DOKTETA_VERSION=\\\"${Okteta_VERSION}\\\"
0515 )
0516 set_source_files_properties(view/info/statisticdisplaymodel.cpp PROPERTIES
0517     COMPILE_FLAGS -DOKTETA_VERSION=\\\"${Okteta_VERSION}\\\"
0518 )
0519 
0520 
0521 oktetakastencontrollers_add_sublibrary(view/viewconfig
0522     PUBLIC
0523         ViewConfigControllerFactory
0524     PRIVATE
0525         BytesPerLineDialog
0526         BytesPerGroupDialog
0527         ViewConfigController
0528 )
0529 
0530 oktetakastencontrollers_add_sublibrary(view/viewstatus
0531     PUBLIC
0532         ViewStatusControllerFactory
0533     PRIVATE
0534         ViewStatusController
0535 )
0536 
0537 oktetakastencontrollers_add_sublibrary(view/viewmode
0538     PUBLIC
0539         ViewModeControllerFactory
0540     PRIVATE
0541         ViewModeController
0542 )
0543 
0544 oktetakastencontrollers_add_sublibrary(view/viewprofiles
0545     PUBLIC
0546         ViewProfilesManageControllerFactory
0547         # TODO: two controllers in one subdir
0548         ViewProfileControllerFactory
0549     PRIVATE
0550         ViewProfileEdit
0551         ViewProfileEditDialog
0552         ViewProfileTableModel
0553 
0554         ViewProfilesManageDialog
0555 
0556         ViewProfileController
0557         ViewProfilesManageController
0558 )
0559 
0560 oktetakastencontrollers_add_sublibrary(view/viewcontextmenu
0561     PUBLIC
0562         ViewContextMenuControllerFactory
0563     PRIVATE
0564         ViewContextMenuController
0565 )
0566 
0567 oktetakastencontrollers_add_sublibrary(utils
0568     PRIVATE
0569         LabelledToolBarWidget
0570 )
0571 
0572 # create a static library for the unit tests. This means we don't have to compile the sources twice
0573 
0574 add_library(poddecoder-typeeditors STATIC ${oktetakastencontrollers_typeeditor_LIB_SRCS})
0575 set_target_properties( poddecoder-typeeditors PROPERTIES POSITION_INDEPENDENT_CODE TRUE )
0576 target_link_libraries( poddecoder-typeeditors
0577 PUBLIC
0578   OktetaGui
0579 PRIVATE
0580   KF5::Completion
0581 )
0582 
0583 add_library( structureview-tested-srcs STATIC ${oktetakastencontrollers_structures_tested_LIB_SRCS} )
0584 set_target_properties( structureview-tested-srcs PROPERTIES POSITION_INDEPENDENT_CODE TRUE )
0585 target_link_libraries( structureview-tested-srcs
0586 PUBLIC
0587   OktetaCore
0588   KF5::ConfigGui
0589   KF5::I18n
0590   KF5::Service
0591   Qt5::Script
0592   Qt5::Xml
0593   Qt5::Widgets
0594 PRIVATE
0595   KF5::Completion
0596   KF5::ConfigWidgets
0597 )
0598 
0599 if(BUILD_TESTING)
0600   # poddecoder typeeditors unit tests
0601   ecm_add_test(
0602     view/poddecoder/typeeditors/char8stringvalidator.cpp
0603     view/poddecoder/typeeditors/char8stringparser.cpp
0604     test/char8stringvalidatortest.cpp
0605 
0606     TEST_NAME char8stringvalidatortest
0607     LINK_LIBRARIES
0608       OktetaCore
0609       Qt5::Gui
0610       Qt5::Test
0611   )
0612   target_include_directories(char8stringvalidatortest
0613     PUBLIC
0614       view/poddecoder/typeeditors
0615   )
0616 
0617   #structures view unit tests
0618   ecm_add_tests(
0619     test/primitivearraytest.cpp
0620     test/arraydatainformationtest.cpp
0621     test/basicdatainformationtest.cpp
0622     test/primitivedatainformationtest.cpp
0623     test/scriptclassestest.cpp
0624     test/uniondatainformationtest.cpp
0625     test/allprimitivetypestest.cpp
0626     test/scriptvalueconvertertest.cpp
0627     test/osdparsertest.cpp
0628     test/commonparsertest.cpp
0629     test/jsparsertest.cpp
0630     test/customtostringtest.cpp
0631     test/locktooffsettest.cpp
0632 
0633     NAME_PREFIX structures-
0634     LINK_LIBRARIES structureview-tested-srcs Qt5::Test poddecoder-typeeditors
0635   )
0636 
0637   # remove useless default definition of QT_TESTCASE_BUILDDIR in interface from imported target Qt5::Test
0638   get_target_property(qttestdefs Qt5::Test INTERFACE_COMPILE_DEFINITIONS)
0639   list(FILTER qttestdefs EXCLUDE REGEX [[^QT_TESTCASE_BUILDDIR=]])
0640   set_property(TARGET Qt5::Test PROPERTY INTERFACE_COMPILE_DEFINITIONS ${qttestdefs})
0641   # set the definition as needed for our tests
0642   target_compile_definitions(customtostringtest PRIVATE QT_TESTCASE_BUILDDIR="${CMAKE_CURRENT_BINARY_DIR}")
0643   target_compile_definitions(jsparsertest       PRIVATE QT_TESTCASE_BUILDDIR="${CMAKE_CURRENT_BINARY_DIR}")
0644   # TODO: still fragile once __FILE__ is neither absolute or full relative path to this build dir
0645   # look into using custom code intead of simple QFINDTESTDATA usage
0646 
0647   # search tool unit tests
0648   ecm_add_test(
0649     view/libbytearraysearch/bytearraysearchutils.cpp
0650     view/libbytearraysearch/bytearraysearchjob.cpp
0651     view/search/searchtool.cpp
0652     test/searchtooltest.cpp
0653 
0654     TEST_NAME searchtooltest
0655     LINK_LIBRARIES
0656       OktetaKastenGui
0657       OktetaKastenCore
0658       KF5::I18n
0659       Qt5::Test
0660   )
0661   target_include_directories(searchtooltest
0662     PUBLIC
0663       libconfigentries
0664       view/libfinddialog
0665       view/libbytearraysearch
0666   )
0667 
0668   #replace tool unit tests
0669   ecm_add_test(
0670     view/libbytearraysearch/bytearraysearchjob.cpp
0671     view/replace/replacejob.cpp
0672     test/replacejobtest.cpp
0673 
0674     TEST_NAME replacejobtest
0675     LINK_LIBRARIES
0676         OktetaKastenGui
0677         OktetaKastenCore
0678         Qt5::Test
0679   )
0680   target_include_directories(replacejobtest
0681         PUBLIC
0682             view/libfinddialog
0683             view/libbytearraysearch
0684   )
0685 endif()
0686 
0687 list(APPEND oktetakastencontrollers_LIB_HDRS
0688     ${CMAKE_CURRENT_BINARY_DIR}/config-qca2.hpp
0689 )
0690 
0691 set(OPTIONAL_PRIVATE)
0692 if( Qca-qt5_FOUND )
0693     set(OPTIONAL_PRIVATE qca-qt5)
0694 endif()
0695 
0696 
0697 okteta_add_library(Controllers NAMESPACE Okteta Kasten
0698     PUBLIC
0699         OktetaKastenGui
0700         OktetaKastenCore
0701         KastenGui
0702         KastenCore
0703     PRIVATE
0704         structureview-tested-srcs
0705         poddecoder-typeeditors
0706         KF5::NewStuff
0707         KF5::I18n
0708         KF5::ConfigWidgets
0709         KF5::KCMUtils
0710         KF5::IconThemes
0711         KF5::Completion
0712         Qt5::PrintSupport
0713         Qt5::Script
0714         ${OPTIONAL_PRIVATE}
0715     VERSION     ${OKTETAKASTENCONTROLLERS_VERSION}
0716     SOVERSION   ${OKTETAKASTENCONTROLLERS_SO_VERSION}
0717     ABIVERSION  ${OKTETAKASTEN_ABI_VERSION} ${KASTEN_ABI_VERSION}
0718     SOURCES   ${oktetakastencontrollers_LIB_SRCS}
0719     HEADERS   ${oktetakastencontrollers_LIB_HDRS}
0720     CCHEADERS ${oktetakastencontrollers_LIB_CCHDRS}
0721     NO_VERSIONED_INCLUDEDIR
0722     NO_VERSIONED_PACKAGE_NAME
0723     REVERSE_NAMESPACE_INCLUDEDIR
0724     REVERSE_NAMESPACE_LIB
0725     NO_TARGET_NAMESPACE
0726 )
0727 
0728 target_include_directories(OktetaKastenControllers
0729     PRIVATE
0730         view/libbytearraychecksum
0731         view/libbytearrayfilter
0732         view/libbytearraysearch
0733         view/libfinddialog
0734         libconfigentries
0735         utils
0736         ${LIBFRAMESPRINT_REL_DIR}
0737 )
0738 
0739 if(NOT KF5_VERSION VERSION_LESS "5.57.0")
0740 install(FILES view/structures/kns/okteta-structures.knsrc  DESTINATION  ${KDE_INSTALL_KNSRCDIR})
0741 else()
0742 install( FILES view/structures/kns/okteta-structures.knsrc  DESTINATION  ${KDE_INSTALL_CONFDIR} )
0743 endif()
0744 
0745 set( elf_structure_FILES
0746   view/structures/examples/okteta/structures/elf/metadata.desktop
0747   view/structures/examples/okteta/structures/elf/main.osd
0748 )
0749 install( FILES ${elf_structure_FILES}  DESTINATION  ${KDE_INSTALL_DATADIR}/okteta/structures/elf )
0750 
0751 set( png_structure_FILES
0752   view/structures/examples/okteta/structures/png/metadata.desktop
0753   view/structures/examples/okteta/structures/png/main.osd
0754 )
0755 install( FILES ${png_structure_FILES}  DESTINATION  ${KDE_INSTALL_DATADIR}/okteta/structures/png )
0756 install( FILES view/structures/examples/okteta/structures/uuid.js  DESTINATION  ${KDE_INSTALL_DATADIR}/okteta/structures/ )
0757 install( FILES view/structures/settings/structureviewpreferences.kcfg  DESTINATION  ${KDE_INSTALL_KCFGDIR} )
0758 
0759 configure_file( view/structures/struct2osd.in ${CMAKE_CURRENT_BINARY_DIR}/struct2osd @ONLY )
0760 install( PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/struct2osd DESTINATION ${KDE_INSTALL_BINDIR} )
0761 install( FILES view/structures/gccxml-to-osd.xsl DESTINATION ${KDE_INSTALL_DATADIR}/okteta/structures/ )
0762 
0763 okteta_add_cmakeconfig(Controllers NAMESPACE Okteta Kasten
0764 )
0765 
0766 
0767 if( KASTEN_BUILD_INTERNAL_TEMPLATES )
0768 
0769 okteta_add_sublibrary(ControllersTemplates NAMESPACE Okteta Kasten
0770     SUBDIR view/libbytearrayfilter/filter/template
0771     PRIVATE
0772         Template_ByteArrayFilter
0773         Template_ByteArrayFilterParameterSet
0774         Template_ByteArrayFilterParameterSetEdit
0775 )
0776 okteta_add_sublibrary(ControllersTemplates NAMESPACE Okteta Kasten
0777     SUBDIR view/libbytearraychecksum/algorithm/template
0778     PRIVATE
0779         Template_ByteArrayCheckSumAlgorithm
0780         Template_ByteArrayChecksumParameterSet
0781         Template_ByteArrayChecksumParameterSetEdit
0782 )
0783 
0784 add_library( oktetakastencontrollertemplates  STATIC ${oktetakastencontrollerstemplates_LIB_SRCS} )
0785 target_include_directories(oktetakastencontrollertemplates
0786     PRIVATE
0787         view/libbytearrayfilter
0788         view/libbytearrayfilter/filter
0789         view/libbytearraychecksum
0790         view/libbytearraychecksum/algorithm
0791 )
0792 # Configure export macros to be setup as with a static lib
0793 # as the source files are reused for static oktetakastencontrollertemplates
0794 # Saves doing a separate export header.
0795 target_compile_definitions(oktetakastencontrollertemplates
0796     PUBLIC
0797         OKTETAKASTENCONTROLLERS_STATIC_DEFINE
0798 )
0799 target_link_libraries( oktetakastencontrollertemplates
0800     PUBLIC
0801         OktetaCore
0802         Qt5::Widgets
0803     PRIVATE
0804         KF5::I18n
0805 )
0806 
0807 endif()