diff --git a/VTIL-Architecture/CMakeLists.txt b/VTIL-Architecture/CMakeLists.txt index b6df8d3..a884ea3 100644 --- a/VTIL-Architecture/CMakeLists.txt +++ b/VTIL-Architecture/CMakeLists.txt @@ -1,40 +1,14 @@ project(VTIL-Architecture) +file(GLOB_RECURSE SOURCES CONFIGURE_DEPENDS *.cpp *.hpp) +file(GLOB_RECURSE INCLUDES CONFIGURE_DEPENDS includes/*) + add_library(${PROJECT_NAME} STATIC - arch/instruction_desc.cpp - arch/instruction_desc.hpp - arch/instruction_set.hpp - arch/operands.hpp - arch/register_desc.hpp - arch/identifier.hpp - misc/debug.hpp - routine/basic_block.cpp - routine/basic_block.hpp - routine/call_convention.hpp - routine/instruction.cpp - routine/instruction.hpp - routine/routine.cpp - routine/routine.hpp - routine/serialization.cpp - routine/serialization.hpp - symex/batch_translator.hpp - symex/memory.hpp - symex/pointer.cpp - symex/pointer.hpp - symex/translation.cpp - symex/translation.hpp - symex/variable.cpp - symex/variable.hpp - trace/cached_tracer.cpp - trace/cached_tracer.hpp - trace/tracer.cpp - trace/tracer.hpp - vm/interface.cpp - vm/interface.hpp - vm/lambda.hpp - vm/symbolic.cpp - vm/symbolic.hpp + ${SOURCES} + ${INCLUDES} ) +source_group(TREE ${PROJECT_SOURCE_DIR} FILES ${SOURCES} ${INCLUDES}) + target_include_directories(${PROJECT_NAME} PUBLIC includes) target_link_libraries(${PROJECT_NAME} VTIL-Common VTIL-SymEx) diff --git a/VTIL-Common/CMakeLists.txt b/VTIL-Common/CMakeLists.txt index 21868a8..95fb47f 100644 --- a/VTIL-Common/CMakeLists.txt +++ b/VTIL-Common/CMakeLists.txt @@ -1,63 +1,15 @@ project(VTIL-Common) +file(GLOB_RECURSE SOURCES CONFIGURE_DEPENDS *.cpp *.hpp) +file(GLOB_RECURSE INCLUDES CONFIGURE_DEPENDS includes/*) + add_library(${PROJECT_NAME} STATIC - arch/amd64/amd64_assembler.cpp - arch/amd64/amd64_assembler.hpp - arch/amd64/amd64_disassembler.cpp - arch/amd64/amd64_disassembler.hpp - arch/amd64/amd64_register_details.cpp - arch/amd64/amd64_register_details.hpp - arch/arm64/arm64_assembler.cpp - arch/arm64/arm64_assembler.hpp - arch/arm64/arm64_disassembler.cpp - arch/arm64/arm64_disassembler.hpp - arch/arm64/arm64_register_details.cpp - arch/arm64/arm64_register_details.hpp - arch/register_mapping.hpp - formats/image_descriptor.hpp - formats/winpe.cpp - formats/winpe.hpp - io/asserts.hpp - io/formatting.hpp - io/logger.cpp - io/logger.hpp - math/bitwise.hpp - math/operable.hpp - math/operators.cpp - math/operators.hpp - query/fixed_iterator.hpp - query/query_descriptor.hpp - query/range_iterator.hpp - query/range_iterator_contract.hpp - query/recursive_view.hpp - query/view.hpp - util/concept.hpp - util/conditional_lock.hpp - util/constexpr_random.hpp - util/copy_on_write.hpp - util/critical_section.cpp - util/critical_section.hpp - util/dynamic_size.hpp - util/fnv128.hpp - util/fnv64.hpp - util/hashable.hpp - util/lt_typeid.hpp - util/mul128.hpp - util/multivariate.hpp - util/numeric_iterator.hpp - util/optional_reference.hpp - util/range.hpp - util/reducable.hpp - util/reverse_iterator.hpp - util/sinkhole.hpp - util/stack_container.hpp - util/variant.cpp - util/variant.hpp - util/zip.hpp - util/colony.hpp - util/object_pool.hpp + ${SOURCES} + ${INCLUDES} ) +source_group(TREE ${PROJECT_SOURCE_DIR} FILES ${SOURCES} ${INCLUDES}) + target_include_directories(${PROJECT_NAME} PUBLIC includes) # Common needs Capstone & Keystone diff --git a/VTIL-Compiler/CMakeLists.txt b/VTIL-Compiler/CMakeLists.txt index cfa793a..a94e92b 100644 --- a/VTIL-Compiler/CMakeLists.txt +++ b/VTIL-Compiler/CMakeLists.txt @@ -1,29 +1,14 @@ -project(VTIL-Compiler) - -add_library(${PROJECT_NAME} STATIC - common/apply_all.hpp - common/auxiliaries.cpp - common/auxiliaries.hpp - common/interface.hpp - optimizer/bblock_extension_pass.cpp - optimizer/bblock_extension_pass.hpp - optimizer/branch_correction_pass.cpp - optimizer/branch_correction_pass.hpp - optimizer/dead_code_elimination_pass.cpp - optimizer/dead_code_elimination_pass.hpp - optimizer/istack_ref_substitution_pass.cpp - optimizer/istack_ref_substitution_pass.hpp - optimizer/mov_propagation_pass.cpp - optimizer/mov_propagation_pass.hpp - optimizer/register_renaming_pass.cpp - optimizer/register_renaming_pass.hpp - optimizer/stack_pinning_pass.cpp - optimizer/stack_pinning_pass.hpp - optimizer/stack_propagation_pass.cpp - optimizer/stack_propagation_pass.hpp - optimizer/symbolic_rewrite_pass.cpp - optimizer/symbolic_rewrite_pass.hpp -) - -target_include_directories(${PROJECT_NAME} PUBLIC includes) -target_link_libraries(${PROJECT_NAME} VTIL-Common VTIL-SymEx VTIL-Architecture) +project(VTIL-Compiler) + +file(GLOB_RECURSE SOURCES CONFIGURE_DEPENDS *.cpp *.hpp) +file(GLOB_RECURSE INCLUDES CONFIGURE_DEPENDS includes/*) + +add_library(${PROJECT_NAME} STATIC + ${SOURCES} + ${INCLUDES} +) + +source_group(TREE ${PROJECT_SOURCE_DIR} FILES ${SOURCES} ${INCLUDES}) + +target_include_directories(${PROJECT_NAME} PUBLIC includes) +target_link_libraries(${PROJECT_NAME} VTIL-Common VTIL-SymEx VTIL-Architecture) diff --git a/VTIL-SymEx/CMakeLists.txt b/VTIL-SymEx/CMakeLists.txt index df53c27..04fca93 100644 --- a/VTIL-SymEx/CMakeLists.txt +++ b/VTIL-SymEx/CMakeLists.txt @@ -1,21 +1,14 @@ project(VTIL-SymEx) +file(GLOB_RECURSE SOURCES CONFIGURE_DEPENDS *.cpp *.hpp) +file(GLOB_RECURSE INCLUDES CONFIGURE_DEPENDS includes/*) + add_library(${PROJECT_NAME} STATIC - directives/directive.cpp - directives/directive.hpp - directives/fast_matcher.hpp - directives/transformer.cpp - directives/transformer.hpp - expressions/expression.cpp - expressions/expression.hpp - expressions/unique_identifier.cpp - expressions/unique_identifier.hpp - simplifier/boolean_directives.cpp - simplifier/boolean_directives.hpp - simplifier/directives.hpp - simplifier/simplifier.cpp - simplifier/simplifier.hpp + ${SOURCES} + ${INCLUDES} ) +source_group(TREE ${PROJECT_SOURCE_DIR} FILES ${SOURCES} ${INCLUDES}) + target_include_directories(${PROJECT_NAME} PUBLIC includes) target_link_libraries(${PROJECT_NAME} VTIL-Common) diff --git a/VTIL-Tests/CMakeLists.txt b/VTIL-Tests/CMakeLists.txt index f6dc462..4b5bf23 100644 --- a/VTIL-Tests/CMakeLists.txt +++ b/VTIL-Tests/CMakeLists.txt @@ -1,9 +1,9 @@ project(VTIL-Tests) +file(GLOB_RECURSE SOURCES CONFIGURE_DEPENDS *.cpp *.hpp *.h) + add_executable(${PROJECT_NAME} - doctest.h - dummy.cpp - main.cpp + ${SOURCES} ) target_link_libraries(${PROJECT_NAME} VTIL)