plugins: Added windows-only features plugin
This commit is contained in:
parent
c42bd6008a
commit
c373174436
@ -12,6 +12,7 @@ setDefaultBuiltTypeIfUnset()
|
|||||||
# List plugin names here. Project name must match folder name
|
# List plugin names here. Project name must match folder name
|
||||||
set(PLUGINS
|
set(PLUGINS
|
||||||
builtin
|
builtin
|
||||||
|
windows
|
||||||
# example
|
# example
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -161,10 +161,12 @@ endmacro()
|
|||||||
macro(createPackage)
|
macro(createPackage)
|
||||||
file(MAKE_DIRECTORY "plugins")
|
file(MAKE_DIRECTORY "plugins")
|
||||||
foreach (plugin IN LISTS PLUGINS)
|
foreach (plugin IN LISTS PLUGINS)
|
||||||
add_subdirectory("plugins/${plugin}")
|
if (TARGET ${plugin})
|
||||||
set_target_properties(${plugin} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/plugins)
|
add_subdirectory("plugins/${plugin}")
|
||||||
install(TARGETS ${plugin} RUNTIME DESTINATION ${PLUGINS_INSTALL_LOCATION})
|
set_target_properties(${plugin} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/plugins)
|
||||||
add_dependencies(imhex ${plugin})
|
install(TARGETS ${plugin} RUNTIME DESTINATION ${PLUGINS_INSTALL_LOCATION})
|
||||||
|
add_dependencies(imhex ${plugin})
|
||||||
|
endif ()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
set_target_properties(libimhex PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
set_target_properties(libimhex PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||||
|
36
plugins/windows/CMakeLists.txt
Normal file
36
plugins/windows/CMakeLists.txt
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.16)
|
||||||
|
|
||||||
|
# Change this to the name of your plugin #
|
||||||
|
project(windows)
|
||||||
|
|
||||||
|
# Add your source files here #
|
||||||
|
if (WIN32)
|
||||||
|
add_library(${PROJECT_NAME} SHARED
|
||||||
|
source/plugin_windows.cpp
|
||||||
|
|
||||||
|
source/views/view_tty_console.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
# Add additional include directories here #
|
||||||
|
target_include_directories(${PROJECT_NAME} PRIVATE include)
|
||||||
|
# Add additional libraries here #
|
||||||
|
target_link_libraries(${PROJECT_NAME} PRIVATE libimhex)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# ---- No need to change anything from here downwards unless you know what you're doing ---- #
|
||||||
|
|
||||||
|
set(CMAKE_CXX_STANDARD 20)
|
||||||
|
set(CMAKE_SHARED_LIBRARY_PREFIX "")
|
||||||
|
set(CMAKE_SHARED_LIBRARY_SUFFIX ".hexplug")
|
||||||
|
|
||||||
|
if (WIN32)
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--allow-multiple-definition -fvisibility=hidden")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_compile_definitions(IMHEX_PLUGIN_NAME=${PROJECT_NAME})
|
||||||
|
|
||||||
|
if (NOT TARGET libimhex)
|
||||||
|
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../libimhex ${CMAKE_CURRENT_BINARY_DIR}/plugins/libimhex)
|
||||||
|
endif()
|
10
plugins/windows/source/plugin_windows.cpp
Normal file
10
plugins/windows/source/plugin_windows.cpp
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#include <hex/plugin.hpp>
|
||||||
|
#include <imgui.h>
|
||||||
|
#include <imgui_internal.h>
|
||||||
|
|
||||||
|
#include "views/view_tty_console.hpp"
|
||||||
|
|
||||||
|
IMHEX_PLUGIN_SETUP("Windows", "WerWolv", "Windows-only features") {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user