|
|
|
# This file is automatically generated from cmake.toml - DO NOT EDIT
|
|
|
|
# See https://github.com/build-cpp/cmkr for more information
|
|
|
|
|
|
|
|
cmake_minimum_required(VERSION 3.15)
|
|
|
|
|
|
|
|
# Regenerate CMakeLists.txt automatically in the root project
|
|
|
|
set(CMKR_ROOT_PROJECT OFF)
|
|
|
|
if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
|
|
|
|
set(CMKR_ROOT_PROJECT ON)
|
|
|
|
|
|
|
|
# Bootstrap cmkr
|
|
|
|
include(cmkr.cmake OPTIONAL RESULT_VARIABLE CMKR_INCLUDE_RESULT)
|
|
|
|
if(CMKR_INCLUDE_RESULT)
|
|
|
|
cmkr()
|
|
|
|
endif()
|
|
|
|
|
|
|
|
# Enable folder support
|
|
|
|
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
# Create a configure-time dependency on cmake.toml to improve IDE support
|
|
|
|
if(CMKR_ROOT_PROJECT)
|
|
|
|
configure_file(cmake.toml cmake.toml COPYONLY)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
set(UNICORN_ARCH x86)
|
|
|
|
|
|
|
|
project(vmprofiler)
|
|
|
|
|
|
|
|
# deps
|
|
|
|
set(CMKR_CMAKE_FOLDER ${CMAKE_FOLDER})
|
|
|
|
if(CMAKE_FOLDER)
|
|
|
|
set(CMAKE_FOLDER "${CMAKE_FOLDER}/deps")
|
|
|
|
else()
|
|
|
|
set(CMAKE_FOLDER deps)
|
|
|
|
endif()
|
|
|
|
add_subdirectory(deps)
|
|
|
|
set(CMAKE_FOLDER ${CMKR_CMAKE_FOLDER})
|
|
|
|
|
|
|
|
# tests
|
|
|
|
set(CMKR_CMAKE_FOLDER ${CMAKE_FOLDER})
|
|
|
|
if(CMAKE_FOLDER)
|
|
|
|
set(CMAKE_FOLDER "${CMAKE_FOLDER}/tests")
|
|
|
|
else()
|
|
|
|
set(CMAKE_FOLDER tests)
|
|
|
|
endif()
|
|
|
|
add_subdirectory(tests)
|
|
|
|
set(CMAKE_FOLDER ${CMKR_CMAKE_FOLDER})
|
|
|
|
|
|
|
|
# Target vmprofiler
|
|
|
|
set(CMKR_TARGET vmprofiler)
|
|
|
|
set(vmprofiler_SOURCES "")
|
|
|
|
|
|
|
|
list(APPEND vmprofiler_SOURCES
|
|
|
|
"src/vmctx.cpp"
|
|
|
|
"src/vminstrs.cpp"
|
|
|
|
"src/vmlocate.cpp"
|
|
|
|
"src/vmprofiles/add.cpp"
|
|
|
|
"src/vmprofiles/imul.cpp"
|
|
|
|
"src/vmprofiles/jmp.cpp"
|
|
|
|
"src/vmprofiles/lconst.cpp"
|
|
|
|
"src/vmprofiles/lreg.cpp"
|
|
|
|
"src/vmprofiles/lvsp.cpp"
|
|
|
|
"src/vmprofiles/nand.cpp"
|
|
|
|
"src/vmprofiles/nop.cpp"
|
|
|
|
"src/vmprofiles/nor.cpp"
|
|
|
|
"src/vmprofiles/read.cpp"
|
|
|
|
"src/vmprofiles/shr.cpp"
|
|
|
|
"src/vmprofiles/shrd.cpp"
|
|
|
|
"src/vmprofiles/shl.cpp"
|
|
|
|
"src/vmprofiles/shld.cpp"
|
|
|
|
"src/vmprofiles/sreg.cpp"
|
|
|
|
"src/vmprofiles/svsp.cpp"
|
|
|
|
"src/vmprofiles/vmexit.cpp"
|
|
|
|
"src/vmprofiles/write.cpp"
|
|
|
|
"src/vmprofiles/lcr0.cpp"
|
|
|
|
"src/vmprofiles/and.cpp"
|
|
|
|
"src/vmprofiles/or.cpp"
|
|
|
|
"src/vmprofiles/writedr7.cpp"
|
|
|
|
"src/vmutils.cpp"
|
|
|
|
"include/uc_allocation_tracker.hpp"
|
|
|
|
"src/uc_allocation_tracker.cpp"
|
|
|
|
"include/vmctx.hpp"
|
|
|
|
"include/vminstrs.hpp"
|
|
|
|
"include/vmlocate.hpp"
|
|
|
|
"include/vmprofiler.hpp"
|
|
|
|
"include/vmutils.hpp"
|
|
|
|
)
|
|
|
|
|
|
|
|
list(APPEND vmprofiler_SOURCES
|
|
|
|
cmake.toml
|
|
|
|
)
|
|
|
|
|
|
|
|
set(CMKR_SOURCES ${vmprofiler_SOURCES})
|
|
|
|
add_library(vmprofiler STATIC)
|
|
|
|
|
|
|
|
if(vmprofiler_SOURCES)
|
|
|
|
target_sources(vmprofiler PRIVATE ${vmprofiler_SOURCES})
|
|
|
|
endif()
|
|
|
|
|
|
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${vmprofiler_SOURCES})
|
|
|
|
|
|
|
|
target_compile_definitions(vmprofiler PUBLIC
|
|
|
|
NOMINMAX
|
|
|
|
)
|
|
|
|
|
|
|
|
target_compile_features(vmprofiler PUBLIC
|
|
|
|
cxx_std_20
|
|
|
|
)
|
|
|
|
|
|
|
|
target_include_directories(vmprofiler PUBLIC
|
|
|
|
include
|
|
|
|
)
|
|
|
|
|
|
|
|
target_link_libraries(vmprofiler PUBLIC
|
|
|
|
Zydis
|
|
|
|
linux-pe
|
|
|
|
unicorn
|
|
|
|
)
|
|
|
|
|
|
|
|
unset(CMKR_TARGET)
|
|
|
|
unset(CMKR_SOURCES)
|
|
|
|
|