change vmemu to a static lib and created vmemu-cli tool

main
John Doe 11 months ago
parent 29a40b4421
commit 11e24f2973

@ -35,12 +35,21 @@ endif()
add_subdirectory(deps)
set(CMAKE_FOLDER ${CMKR_CMAKE_FOLDER})
# tools
set(CMKR_CMAKE_FOLDER ${CMAKE_FOLDER})
if(CMAKE_FOLDER)
set(CMAKE_FOLDER "${CMAKE_FOLDER}/tools")
else()
set(CMAKE_FOLDER tools)
endif()
add_subdirectory(tools)
set(CMAKE_FOLDER ${CMKR_CMAKE_FOLDER})
# Target vmemu
set(CMKR_TARGET vmemu)
set(vmemu_SOURCES "")
list(APPEND vmemu_SOURCES
"src/main.cpp"
"src/vmemu_t.cpp"
"include/vmemu_t.hpp"
)
@ -50,28 +59,23 @@ list(APPEND vmemu_SOURCES
)
set(CMKR_SOURCES ${vmemu_SOURCES})
add_executable(vmemu)
add_library(vmemu STATIC)
if(vmemu_SOURCES)
target_sources(vmemu PRIVATE ${vmemu_SOURCES})
endif()
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
if(NOT CMKR_VS_STARTUP_PROJECT)
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT vmemu)
endif()
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${vmemu_SOURCES})
target_compile_definitions(vmemu PRIVATE
target_compile_definitions(vmemu PUBLIC
NOMINMAX
)
target_include_directories(vmemu PRIVATE
target_include_directories(vmemu PUBLIC
include
)
target_link_libraries(vmemu PRIVATE
target_link_libraries(vmemu PUBLIC
vmprofiler
unicorn
cli-parser

@ -1,10 +1,11 @@
[project]
[project]
name = "vmemu"
[subdir.deps]
[subdir.tools]
[target.vmemu]
type = "executable"
type = "static"
sources = [
"src/**.cpp",

@ -0,0 +1,18 @@
# This file is automatically generated from cmake.toml - DO NOT EDIT
# See https://github.com/build-cpp/cmkr for more information
# Create a configure-time dependency on cmake.toml to improve IDE support
if(CMKR_ROOT_PROJECT)
configure_file(cmake.toml cmake.toml COPYONLY)
endif()
# vmemu-cli
set(CMKR_CMAKE_FOLDER ${CMAKE_FOLDER})
if(CMAKE_FOLDER)
set(CMAKE_FOLDER "${CMAKE_FOLDER}/vmemu-cli")
else()
set(CMAKE_FOLDER vmemu-cli)
endif()
add_subdirectory(vmemu-cli)
set(CMAKE_FOLDER ${CMKR_CMAKE_FOLDER})

@ -0,0 +1 @@
[subdir.vmemu-cli]

@ -0,0 +1,60 @@
# 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()
project(vmemu-cli)
# Target vmemu-cli
set(CMKR_TARGET vmemu-cli)
set(vmemu-cli_SOURCES "")
list(APPEND vmemu-cli_SOURCES
"src/main.cpp"
)
list(APPEND vmemu-cli_SOURCES
cmake.toml
)
set(CMKR_SOURCES ${vmemu-cli_SOURCES})
add_executable(vmemu-cli)
if(vmemu-cli_SOURCES)
target_sources(vmemu-cli PRIVATE ${vmemu-cli_SOURCES})
endif()
get_directory_property(CMKR_VS_STARTUP_PROJECT DIRECTORY ${PROJECT_SOURCE_DIR} DEFINITION VS_STARTUP_PROJECT)
if(NOT CMKR_VS_STARTUP_PROJECT)
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT vmemu-cli)
endif()
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${vmemu-cli_SOURCES})
target_link_libraries(vmemu-cli PRIVATE
vmemu
)
unset(CMKR_TARGET)
unset(CMKR_SOURCES)

@ -0,0 +1,8 @@
[project]
name = "vmemu-cli"
[target.vmemu-cli]
type = "executable"
sources = ["src/**.cpp"]
link-libraries = ["vmemu"]

@ -2,8 +2,8 @@
#include <fstream>
#include <iostream>
#include <thread>
#include <vmemu_t.hpp>
#include <vmlocate.hpp>
#include "vmemu_t.hpp"
int __cdecl main(int argc, const char* argv[]) {
argparse::argument_parser_t parser("VMEmu",
Loading…
Cancel
Save