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()