mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
91 lines
2.2 KiB
CMake
91 lines
2.2 KiB
CMake
#
|
|
# This file is distributed under the MIT License. See LICENSE.md for details.
|
|
#
|
|
|
|
revng_add_library_internal(
|
|
revngYield
|
|
SHARED
|
|
Assembly/DisassemblyHelper.cpp
|
|
Assembly/LLVMDisassemblerInterface.cpp
|
|
Assembly/LLVMTagsToPTML.cpp
|
|
CallGraphs/CallGraphSlices.cpp
|
|
ControlFlow/ConvertFromEFA.cpp
|
|
ControlFlow/Extraction.cpp
|
|
ControlFlow/FallthroughDetection.cpp
|
|
CrossRelations.cpp
|
|
HexDump.cpp
|
|
PTML.cpp
|
|
SVG.cpp
|
|
Verify.cpp)
|
|
|
|
set(DISASSEMBLER_ARCHITECTURE_SUPPORT "")
|
|
foreach(CURRENT_ARCHITECTURE AArch64 ARM Mips SystemZ X86)
|
|
set(DISASSEMBLER_ARCHITECTURE_SUPPORT
|
|
${DISASSEMBLER_ARCHITECTURE_SUPPORT}
|
|
"${CURRENT_ARCHITECTURE}Disassembler" "${CURRENT_ARCHITECTURE}Info"
|
|
"${CURRENT_ARCHITECTURE}Desc")
|
|
endforeach(CURRENT_ARCHITECTURE)
|
|
|
|
llvm_map_components_to_libnames(
|
|
LLVM_LIBRARIES
|
|
Core
|
|
MC
|
|
MCDisassembler
|
|
Support
|
|
Target
|
|
${DISASSEMBLER_ARCHITECTURE_SUPPORT})
|
|
|
|
target_link_libraries(
|
|
revngYield
|
|
revngEarlyFunctionAnalysis
|
|
revngModelPasses
|
|
revngPTML
|
|
revngSupport
|
|
revngSugiyamaGraphLayout
|
|
revngLift
|
|
${LLVM_LIBRARIES})
|
|
|
|
set(INTERNAL_ASSEMBLY_HEADERS "${CMAKE_SOURCE_DIR}/include/revng/Yield")
|
|
target_tuple_tree_generator(
|
|
revngYield
|
|
INSTALL
|
|
HEADER_DIRECTORY
|
|
"Yield"
|
|
NAMESPACE
|
|
"yield"
|
|
SCHEMA_PATH
|
|
"${CMAKE_SOURCE_DIR}/include/revng/Yield/yield-internal-schema.yml"
|
|
SEPARATE_STRING_TYPES
|
|
"BasicBlockID"
|
|
"MetaAddress"
|
|
SCALAR_TYPES
|
|
"BasicBlockID"
|
|
"MetaAddress"
|
|
"yield::ByteContainer"
|
|
"model::FunctionAttribute::Values")
|
|
|
|
set(INTERNAL_ASSEMBLY_HEADERS
|
|
"${CMAKE_SOURCE_DIR}/include/revng/Yield/CrossRelations")
|
|
target_tuple_tree_generator(
|
|
revngYield
|
|
INSTALL
|
|
HEADER_DIRECTORY
|
|
"Yield/CrossRelations"
|
|
NAMESPACE
|
|
"yield::crossrelations"
|
|
SCHEMA_PATH
|
|
"${CMAKE_SOURCE_DIR}/include/revng/Yield/CrossRelations/yield-cross-relations.yml"
|
|
SEPARATE_STRING_TYPES
|
|
"MetaAddress"
|
|
SCALAR_TYPES
|
|
"BasicBlockID"
|
|
"MetaAddress"
|
|
"yield::ByteContainer")
|
|
|
|
revng_add_analyses_library_internal(
|
|
revngYieldPipes SHARED Pipes/AssemblyPipes.cpp Pipes/CallGraphPipes.cpp
|
|
Pipes/CFGPipes.cpp)
|
|
|
|
target_link_libraries(revngYieldPipes revngYield revngFunctionIsolation
|
|
revngPipes revngSupport)
|