Initial project scaffold for Setec Partition Wizard
C++17/Qt6 application for disk recovery, repair, flashing, formatting, and USB security key creation on Windows. Includes CMake build system, tabbed UI shell with 6 main tabs, core type system with Result<T> monadic error handling, admin elevation, and dark Catppuccin theme.
This commit is contained in:
13
cmake/CompilerWarnings.cmake
Normal file
13
cmake/CompilerWarnings.cmake
Normal file
@@ -0,0 +1,13 @@
|
||||
# Compiler warning settings for MSVC and GCC/Clang
|
||||
if(MSVC)
|
||||
add_compile_options(/W4 /permissive- /utf-8)
|
||||
# Treat warnings as errors in CI builds
|
||||
if(DEFINED ENV{CI})
|
||||
add_compile_options(/WX)
|
||||
endif()
|
||||
else()
|
||||
add_compile_options(-Wall -Wextra -Wpedantic)
|
||||
if(DEFINED ENV{CI})
|
||||
add_compile_options(-Werror)
|
||||
endif()
|
||||
endif()
|
||||
9
cmake/FindWMI.cmake
Normal file
9
cmake/FindWMI.cmake
Normal file
@@ -0,0 +1,9 @@
|
||||
# FindWMI.cmake - Locate WMI libraries on Windows
|
||||
# Sets WMI_FOUND, WMI_LIBRARIES
|
||||
|
||||
if(WIN32)
|
||||
set(WMI_LIBRARIES wbemuuid ole32 oleaut32 setupapi)
|
||||
set(WMI_FOUND TRUE)
|
||||
else()
|
||||
set(WMI_FOUND FALSE)
|
||||
endif()
|
||||
16
cmake/QtDeployHelper.cmake
Normal file
16
cmake/QtDeployHelper.cmake
Normal file
@@ -0,0 +1,16 @@
|
||||
# QtDeployHelper.cmake - Post-build windeployqt integration
|
||||
function(spw_deploy_qt TARGET)
|
||||
if(WIN32)
|
||||
find_program(WINDEPLOYQT windeployqt HINTS "${Qt6_DIR}/../../../bin")
|
||||
if(WINDEPLOYQT)
|
||||
add_custom_command(TARGET ${TARGET} POST_BUILD
|
||||
COMMAND "${WINDEPLOYQT}"
|
||||
--no-translations
|
||||
--no-system-d3d-compiler
|
||||
--no-opengl-sw
|
||||
"$<TARGET_FILE:${TARGET}>"
|
||||
COMMENT "Running windeployqt on ${TARGET}..."
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
endfunction()
|
||||
12
cmake/Version.cmake
Normal file
12
cmake/Version.cmake
Normal file
@@ -0,0 +1,12 @@
|
||||
# Version.cmake - Parse version from project and expose as definitions
|
||||
set(SPW_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
|
||||
set(SPW_VERSION_MINOR ${PROJECT_VERSION_MINOR})
|
||||
set(SPW_VERSION_PATCH ${PROJECT_VERSION_PATCH})
|
||||
set(SPW_VERSION_STRING "${PROJECT_VERSION}")
|
||||
|
||||
add_compile_definitions(
|
||||
SPW_VERSION_MAJOR=${SPW_VERSION_MAJOR}
|
||||
SPW_VERSION_MINOR=${SPW_VERSION_MINOR}
|
||||
SPW_VERSION_PATCH=${SPW_VERSION_PATCH}
|
||||
SPW_VERSION_STRING="${SPW_VERSION_STRING}"
|
||||
)
|
||||
Reference in New Issue
Block a user