mirror of
https://github.com/NohamR/Reclass.git
synced 2026-05-10 19:59:21 +00:00
- Add WinDbgMemory plugin with debug server connection support - Replace ProcessMemory plugin with Windows-specific ProcessMemoryWindows - Simplify WinDbg dialog: single panel, no tabs, palette-based theming - Fix example text visibility on dark themes (QPalette::Dark -> Disabled WindowText) - Fix "file" -> "File" capitalization in source menu - Add windbg_provider and com_security tests
48 lines
1.4 KiB
CMake
48 lines
1.4 KiB
CMake
cmake_minimum_required(VERSION 3.20)
|
|
project(ProcessMemoryWindowsPlugin LANGUAGES CXX)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
# Qt is found by the parent project; QT variable (Qt5 or Qt6) is inherited
|
|
|
|
set(CMAKE_AUTOMOC ON)
|
|
set(CMAKE_AUTORCC ON)
|
|
set(CMAKE_AUTOUIC ON)
|
|
|
|
# Plugin sources
|
|
set(PLUGIN_SOURCES
|
|
ProcessMemoryWindowsPlugin.h
|
|
ProcessMemoryWindowsPlugin.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../../src/processpicker.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../../src/processpicker.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../../src/processpicker.ui
|
|
)
|
|
|
|
# Create shared library (DLL)
|
|
add_library(ProcessMemoryWindowsPlugin SHARED ${PLUGIN_SOURCES})
|
|
|
|
# Link Qt
|
|
target_link_libraries(ProcessMemoryWindowsPlugin PRIVATE ${QT}::Widgets ${_QT_WINEXTRAS})
|
|
|
|
# Platform-specific linking
|
|
if(WIN32)
|
|
target_link_libraries(ProcessMemoryWindowsPlugin PRIVATE psapi shell32)
|
|
endif()
|
|
|
|
# On Linux, hide all symbols by default so only RCX_PLUGIN_EXPORT-marked ones are exported
|
|
if(UNIX AND NOT APPLE)
|
|
target_compile_options(ProcessMemoryWindowsPlugin PRIVATE -fvisibility=hidden)
|
|
endif()
|
|
|
|
# Include directories
|
|
target_include_directories(ProcessMemoryWindowsPlugin PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../../src
|
|
)
|
|
|
|
# Output to Plugins folder
|
|
set_target_properties(ProcessMemoryWindowsPlugin PROPERTIES
|
|
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/Plugins"
|
|
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/Plugins"
|
|
)
|