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