Files
revng-revng/lib/Support/CMakeLists.txt
Massimo Fioravanti 6421aeed3e Support: depend on generated model headers
renvg.h should not use model headers, however, currently it does. This,
combined with the fact that the revngSupport library did not depend on
revngModel or the header generation led to non-deterministic build
failures.

Before this commit the bug can be found by:

    orc clean revng
    orc uninstall revng
    orc configure revng
    orc shell -c revng ninja renvgSupport

The error should manifest itself as some generated headers missing.

The proper fix would be to rewrite revng.h so that it does not uses the
model.
2022-01-17 18:17:45 +01:00

37 lines
1.0 KiB
CMake

#
# This file is distributed under the MIT License. See LICENSE.md for details.
#
revng_add_library_internal(revngSupport SHARED
ProgramRunner.cpp
Assert.cpp
CommandLine.cpp
Debug.cpp
IRAnnotators.cpp
ExampleAnalysis.cpp
FunctionTags.cpp
IRHelpers.cpp
MetaAddress.cpp
OriginalAssemblyAnnotationWriter.cpp
PathList.cpp
ProgramCounterHandler.cpp
ResourceFinder.cpp
SelfReferencingDbgAnnotationWriter.cpp
Statistics.cpp)
llvm_map_components_to_libnames(LLVM_LIBRARIES Support Core)
target_link_libraries(revngSupport ${LLVM_LIBRARIES})
target_include_directories(revngSupport
INTERFACE $<INSTALL_INTERFACE:include/>)
# revngSupport has a dependency to the generated model files because of revng.h
#
# revng.h includes model headers which depends on the generated headers.
# we cannot add the dependency to the model because the model itself depends
# on support and would generate a cyclic dependency.
#
# TODO: drop dependency from model in revng.h
add_dependencies(revngSupport generate-model-tuple-tree-code)