Warning, /utilities/okteta/core/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 set(OKTETACORE_VERSION ${OKTETALIBS_LIB_VERSION}) 0002 set(OKTETACORE_SO_VERSION ${OKTETALIBS_LIB_SOVERSION}) 0003 0004 okteta_add_library(Core NAMESPACE Okteta 0005 PUBLIC 0006 Qt5::Core 0007 PRIVATE 0008 KF5::I18n 0009 VERSION ${OKTETACORE_VERSION} 0010 SOVERSION ${OKTETACORE_SO_VERSION} 0011 ABIVERSION ${OKTETALIBS_ABI_VERSION} 0012 NO_TARGET_NAMESPACE 0013 NO_VERSIONED_EXPORTED_TARGET_NAME 0014 NO_VERSIONED_INCLUDEDIR 0015 NO_VERSIONED_PACKAGE_NAME 0016 ) 0017 0018 target_compile_definitions(OktetaCore PRIVATE -DTRANSLATION_DOMAIN=\"liboktetacore\") 0019 0020 ecm_qt_declare_logging_category(OktetaCore 0021 HEADER "logging.hpp" 0022 IDENTIFIER "LOG_OKTETA_CORE" 0023 CATEGORY_NAME "okteta.core" 0024 DESCRIPTION "Okteta Core library" 0025 EXPORT OKTETA 0026 ) 0027 0028 macro(OKTETACORE_ADD_SUBLIBRARY _subdir) 0029 okteta_add_sublibrary(Core NAMESPACE Okteta 0030 SUBDIR ${_subdir} 0031 ${ARGN} 0032 ) 0033 endmacro() 0034 0035 oktetacore_add_sublibrary(charcodecs 0036 PRIVATE 0037 CharCodec 0038 USASCIICharCodec 0039 EBCDIC1047CharCodec 0040 IBM874CharCodec 0041 JISX0201CharCodec 0042 TextCharCodec 0043 ) 0044 0045 oktetacore_add_sublibrary(valuecodecs 0046 PRIVATE 0047 BinaryByteCodec 0048 ValueCodec 0049 DecimalByteCodec 0050 HexadecimalByteCodec 0051 OctalByteCodec 0052 ) 0053 0054 oktetacore_add_sublibrary(piecetable 0055 PRIVATE 0056 PieceList 0057 PieceTable 0058 AbstractPieceTableChange 0059 # FillPieceTableChange 0060 InsertPieceTableChange 0061 RemovePieceTableChange 0062 ReplacePieceTableChange 0063 SwapRangesPieceTableChange 0064 GroupPieceTableChange 0065 PieceTableChangehistory 0066 RevertablePiecetable 0067 ) 0068 0069 okteta_add_sublibrary(Core NAMESPACE Okteta 0070 PUBLIC 0071 OktetaCore 0072 Range 0073 NumberRange 0074 0075 Address 0076 AddressRange 0077 Size 0078 Byte 0079 AbstractByteArrayModel 0080 Versionable 0081 Bookmarkable 0082 ChangesDescribable 0083 ChangeHistory 0084 0085 ByteArrayModel 0086 #FileByteArrayModel 0087 PieceTableByteArrayModel 0088 0089 Character 0090 ArrayChangeMetrics 0091 ArrayChangeMetricsList 0092 ByteArrayChange 0093 0094 Bookmark 0095 BookmarksConstIteratorAdapter # TODO: make private or move adapter class to iterator 0096 BookmarksConstIterator 0097 0098 TextByteArrayAnalyzer 0099 ValueCodec 0100 CharCodec 0101 0102 PRIVATE 0103 FileByteArrayModel 0104 FixedSizeByteArrayModel 0105 0106 BookmarkListConstIteratorAdapter 0107 AddressRangeList 0108 BookmarkList 0109 0110 ) 0111 0112 okteta_add_cmakeconfig(Core NAMESPACE Okteta 0113 DEPS 0114 Qt5Core ${Qt5_VERSION} 0115 ) 0116 0117 okteta_add_qmakeconfig(Core NAMESPACE Okteta 0118 DEPS core 0119 ) 0120 0121 okteta_add_pkgconfig(Core NAMESPACE Okteta 0122 DEPS Qt5Core 0123 DESCRIPTION "Okteta Core" 0124 ) 0125 0126 0127 if(BUILD_TESTING) 0128 #don't compile sources twice by using object libraries 0129 #add_library( oktetacore_objs OBJECT ${oktetacore_LIB_SRCS} ) 0130 #target_include_directories( oktetacore_objs PUBLIC $<TARGET_PROPERTY:Qt5::Core,INTERFACE_INCLUDE_DIRECTORIES> ) 0131 #set( oktetacore_LIB_OBJS $<TARGET_OBJECTS:oktetacore_objs>) 0132 0133 # compile flags don't get set for object libraries, since cannot link to target 0134 #TODO: find out how to properly use targets for object libraries 0135 add_library( testoktetacore STATIC) 0136 get_property(oktetacore_LIB_OBJS TARGET OktetaCore PROPERTY SOURCES) 0137 target_sources(testoktetacore PRIVATE ${oktetacore_LIB_OBJS}) 0138 # Configure export macros to be setup as with a static lib 0139 # as the source files are reused for static testoktetacore 0140 # Saves doing a separate export header. 0141 target_compile_definitions(testoktetacore 0142 PUBLIC 0143 OKTETACORE_STATICLIB 0144 ) 0145 target_include_directories(testoktetacore 0146 PUBLIC 0147 ${CMAKE_CURRENT_BINARY_DIR} 0148 ) 0149 target_link_libraries(testoktetacore 0150 PUBLIC 0151 Qt5::Core 0152 PRIVATE 0153 KF5::I18n 0154 ) 0155 0156 add_subdirectory(piecetable/tests) 0157 add_subdirectory(tests) 0158 endif()