mirror of
https://github.com/revanced/aapt2.git
synced 2024-11-03 19:09:27 +01:00
170 lines
6.1 KiB
CMake
170 lines
6.1 KiB
CMake
|
set(AAPT2_PROTO_SRC)
|
||
|
set(AAPT2_PROTO_HDRS)
|
||
|
set(AAPT2_PROTO_DIR ${SRC}/base/tools/aapt2)
|
||
|
|
||
|
file(GLOB_RECURSE PROTO_FILES ${AAPT2_PROTO_DIR}/*.proto)
|
||
|
|
||
|
foreach(proto ${PROTO_FILES})
|
||
|
get_filename_component(FIL_WE ${proto} NAME_WE)
|
||
|
|
||
|
if(DEFINED PROTOC_PATH)
|
||
|
execute_process(
|
||
|
COMMAND ${PROTOC_COMPILER} ${proto} --proto_path=${AAPT2_PROTO_DIR}
|
||
|
--cpp_out=${AAPT2_PROTO_DIR} COMMAND_ECHO STDOUT
|
||
|
RESULT_VARIABLE RESULT
|
||
|
WORKING_DIRECTORY ${AAPT2_PROTO_DIR})
|
||
|
|
||
|
if(RESULT EQUAL 0)
|
||
|
message(STATUS "generate cpp file ${TARGET_CPP_FILE}")
|
||
|
message(STATUS "generate head file ${TARGET_HEAD_FILE}")
|
||
|
endif()
|
||
|
endif()
|
||
|
|
||
|
set(TARGET_CPP_FILE "${AAPT2_PROTO_DIR}/${FIL_WE}.pb.cc")
|
||
|
set(TARGET_HEAD_FILE "${AAPT2_PROTO_DIR}/${FIL_WE}.pb.h")
|
||
|
|
||
|
if(EXISTS ${TARGET_CPP_FILE} AND EXISTS ${TARGET_HEAD_FILE})
|
||
|
list(APPEND AAPT2_PROTO_SRC ${TARGET_CPP_FILE})
|
||
|
list(APPEND AAPT2_PROTO_HDRS ${TARGET_HEAD_FILE})
|
||
|
endif()
|
||
|
endforeach()
|
||
|
|
||
|
if(DEFINED PROTOC_PATH)
|
||
|
set_source_files_properties(${AAPT2_PROTO_SRC} PROPERTIES GENERATED TRUE)
|
||
|
set_source_files_properties(${AAPT2_PROTO_HDRS} PROPERTIES GENERATED TRUE)
|
||
|
endif()
|
||
|
|
||
|
set_source_files_properties(${AAPT2_PROTO_SRC} ${AAPT2_PROTO_HDRS}
|
||
|
PROPERTIES GENERATED TRUE)
|
||
|
|
||
|
add_executable(
|
||
|
aapt2
|
||
|
${SRC}/base/tools/aapt2/Main.cpp
|
||
|
${SRC}/base/tools/aapt2/cmd/Command.cpp
|
||
|
${SRC}/base/tools/aapt2/cmd/Compile.cpp
|
||
|
${SRC}/base/tools/aapt2/cmd/Convert.cpp
|
||
|
${SRC}/base/tools/aapt2/cmd/Diff.cpp
|
||
|
${SRC}/base/tools/aapt2/cmd/Dump.cpp
|
||
|
${SRC}/base/tools/aapt2/cmd/Link.cpp
|
||
|
${SRC}/base/tools/aapt2/cmd/Optimize.cpp
|
||
|
${SRC}/base/tools/aapt2/cmd/Util.cpp
|
||
|
|
||
|
${SRC}/base/tools/aapt2/compile/IdAssigner.cpp
|
||
|
${SRC}/base/tools/aapt2/compile/InlineXmlFormatParser.cpp
|
||
|
${SRC}/base/tools/aapt2/compile/NinePatch.cpp
|
||
|
${SRC}/base/tools/aapt2/compile/Png.cpp
|
||
|
${SRC}/base/tools/aapt2/compile/PngChunkFilter.cpp
|
||
|
${SRC}/base/tools/aapt2/compile/PngCrunch.cpp
|
||
|
${SRC}/base/tools/aapt2/compile/PseudolocaleGenerator.cpp
|
||
|
${SRC}/base/tools/aapt2/compile/Pseudolocalizer.cpp
|
||
|
${SRC}/base/tools/aapt2/compile/XmlIdCollector.cpp
|
||
|
${SRC}/base/tools/aapt2/configuration/ConfigurationParser.cpp
|
||
|
${SRC}/base/tools/aapt2/dump/DumpManifest.cpp
|
||
|
${SRC}/base/tools/aapt2/filter/AbiFilter.cpp
|
||
|
${SRC}/base/tools/aapt2/filter/ConfigFilter.cpp
|
||
|
${SRC}/base/tools/aapt2/format/Archive.cpp
|
||
|
${SRC}/base/tools/aapt2/format/Container.cpp
|
||
|
${SRC}/base/tools/aapt2/format/binary/BinaryResourceParser.cpp
|
||
|
${SRC}/base/tools/aapt2/format/binary/ResChunkPullParser.cpp
|
||
|
${SRC}/base/tools/aapt2/format/binary/TableFlattener.cpp
|
||
|
${SRC}/base/tools/aapt2/format/binary/XmlFlattener.cpp
|
||
|
${SRC}/base/tools/aapt2/format/proto/ProtoDeserialize.cpp
|
||
|
${SRC}/base/tools/aapt2/format/proto/ProtoSerialize.cpp
|
||
|
${SRC}/base/tools/aapt2/io/BigBufferStream.cpp
|
||
|
${SRC}/base/tools/aapt2/io/File.cpp
|
||
|
${SRC}/base/tools/aapt2/io/FileStream.cpp
|
||
|
${SRC}/base/tools/aapt2/io/FileSystem.cpp
|
||
|
${SRC}/base/tools/aapt2/io/StringStream.cpp
|
||
|
${SRC}/base/tools/aapt2/io/Util.cpp
|
||
|
${SRC}/base/tools/aapt2/io/ZipArchive.cpp
|
||
|
${SRC}/base/tools/aapt2/link/AutoVersioner.cpp
|
||
|
${SRC}/base/tools/aapt2/link/ManifestFixer.cpp
|
||
|
${SRC}/base/tools/aapt2/link/NoDefaultResourceRemover.cpp
|
||
|
${SRC}/base/tools/aapt2/link/ProductFilter.cpp
|
||
|
${SRC}/base/tools/aapt2/link/PrivateAttributeMover.cpp
|
||
|
${SRC}/base/tools/aapt2/link/ReferenceLinker.cpp
|
||
|
${SRC}/base/tools/aapt2/link/ResourceExcluder.cpp
|
||
|
${SRC}/base/tools/aapt2/link/TableMerger.cpp
|
||
|
${SRC}/base/tools/aapt2/link/XmlCompatVersioner.cpp
|
||
|
${SRC}/base/tools/aapt2/link/XmlNamespaceRemover.cpp
|
||
|
${SRC}/base/tools/aapt2/link/XmlReferenceLinker.cpp
|
||
|
${SRC}/base/tools/aapt2/optimize/MultiApkGenerator.cpp
|
||
|
${SRC}/base/tools/aapt2/optimize/ResourceDeduper.cpp
|
||
|
${SRC}/base/tools/aapt2/optimize/ResourceFilter.cpp
|
||
|
${SRC}/base/tools/aapt2/optimize/ResourcePathShortener.cpp
|
||
|
${SRC}/base/tools/aapt2/optimize/VersionCollapser.cpp
|
||
|
${SRC}/base/tools/aapt2/process/SymbolTable.cpp
|
||
|
${SRC}/base/tools/aapt2/split/TableSplitter.cpp
|
||
|
${SRC}/base/tools/aapt2/text/Printer.cpp
|
||
|
${SRC}/base/tools/aapt2/text/Unicode.cpp
|
||
|
${SRC}/base/tools/aapt2/text/Utf8Iterator.cpp
|
||
|
${SRC}/base/tools/aapt2/util/BigBuffer.cpp
|
||
|
${SRC}/base/tools/aapt2/util/Files.cpp
|
||
|
${SRC}/base/tools/aapt2/util/Util.cpp
|
||
|
${SRC}/base/tools/aapt2/Debug.cpp
|
||
|
${SRC}/base/tools/aapt2/DominatorTree.cpp
|
||
|
${SRC}/base/tools/aapt2/java/AnnotationProcessor.cpp
|
||
|
${SRC}/base/tools/aapt2/java/ClassDefinition.cpp
|
||
|
${SRC}/base/tools/aapt2/java/JavaClassGenerator.cpp
|
||
|
${SRC}/base/tools/aapt2/java/ManifestClassGenerator.cpp
|
||
|
${SRC}/base/tools/aapt2/java/ProguardRules.cpp
|
||
|
${SRC}/base/tools/aapt2/LoadedApk.cpp
|
||
|
${SRC}/base/tools/aapt2/Resource.cpp
|
||
|
${SRC}/base/tools/aapt2/ResourceParser.cpp
|
||
|
${SRC}/base/tools/aapt2/ResourceTable.cpp
|
||
|
${SRC}/base/tools/aapt2/ResourceUtils.cpp
|
||
|
${SRC}/base/tools/aapt2/ResourceValues.cpp
|
||
|
${SRC}/base/tools/aapt2/SdkConstants.cpp
|
||
|
${SRC}/base/tools/aapt2/StringPool.cpp
|
||
|
${SRC}/base/tools/aapt2/trace/TraceBuffer.cpp
|
||
|
${SRC}/base/tools/aapt2/xml/XmlActionExecutor.cpp
|
||
|
${SRC}/base/tools/aapt2/xml/XmlDom.cpp
|
||
|
${SRC}/base/tools/aapt2/xml/XmlPullParser.cpp
|
||
|
${SRC}/base/tools/aapt2/xml/XmlUtil.cpp
|
||
|
${SRC}/base/tools/aapt2/Configuration.proto
|
||
|
${SRC}/base/tools/aapt2/Resources.proto
|
||
|
${SRC}/base/tools/aapt2/ResourcesInternal.proto
|
||
|
${SRC}/base/tools/aapt2/ValueTransformer.cpp
|
||
|
${AAPT2_PROTO_SRC}
|
||
|
${AAPT2_PROTO_HDRS})
|
||
|
|
||
|
target_include_directories(aapt2 PUBLIC
|
||
|
${SRC}/base/tools/aapt2
|
||
|
${SRC}/protobuf/src
|
||
|
${SRC}/logging/liblog/include
|
||
|
${SRC}/expat/lib
|
||
|
${SRC}/fmtlib/include
|
||
|
${SRC}/libpng
|
||
|
${SRC}/libbase/include
|
||
|
${SRC}/base/libs/androidfw/include
|
||
|
${SRC}/base/cmds/idmap2/libidmap2_policies/include
|
||
|
${SRC}/core/libsystem/include
|
||
|
${SRC}/core/libutils/include
|
||
|
${SRC}/libziparchive/include
|
||
|
${SRC}/boringssl/third_party/googletest/include
|
||
|
${SRC}/libbuildversion/include
|
||
|
${SRC}/incremental_delivery/incfs/util/include
|
||
|
${SRC}/incremental_delivery/incfs/kernel-headers)
|
||
|
|
||
|
target_link_libraries(aapt2
|
||
|
libandroidfw
|
||
|
libincfs
|
||
|
libselinux
|
||
|
libsepol
|
||
|
libutils
|
||
|
libpackagelistparser
|
||
|
libcutils
|
||
|
libziparchive
|
||
|
libbase
|
||
|
libprotobuf
|
||
|
liblog
|
||
|
libpng
|
||
|
expat
|
||
|
crypto
|
||
|
ssl
|
||
|
pcre2-8
|
||
|
fmt
|
||
|
c++_static
|
||
|
z
|
||
|
dl)
|