tool: minor tweaks

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
This commit is contained in:
Yuhang Zhao 2022-08-03 17:53:17 +08:00
parent 9343c7a088
commit 2f872732b5
2 changed files with 14 additions and 12 deletions

View File

@ -16,10 +16,11 @@ set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_MSVC_RUNTIME_LIBRARY MultiThreaded$<$<CONFIG:Debug>:Debug>)
string(REGEX REPLACE "[-|/]GR" "/GR-" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
#string(REGEX REPLACE "[-|/]EHsc" "/EHs-c-" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
string(REGEX REPLACE "[-|/]W[0|1|2|3|4]" "/W4" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
string(REGEX REPLACE "[-|/]Ob[0|1|2|3]" "/Ob3" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})
string(REGEX REPLACE "[-|/]GR" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
#string(REGEX REPLACE "[-|/]EHsc" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
string(REGEX REPLACE "[-|/]W[0|1|2|3|4]" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
string(REGEX REPLACE "[-|/]Ob[0|1|2|3]" "" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})
string(APPEND CMAKE_RC_FLAGS " /c65001 /nologo ")
add_executable(${PROJECT_NAME})
@ -38,10 +39,10 @@ target_compile_definitions(${PROJECT_NAME} PRIVATE
)
target_compile_options(${PROJECT_NAME} PRIVATE
/await:strict /bigobj /d2FH4 /MP /FS /utf-8 /WX /permissive- /ZH:SHA_256
/await:strict /bigobj /d2FH4 /FS /GR- /MP /permissive- /utf-8 /W4 /WX /ZH:SHA_256
/Zc:char8_t,__cplusplus,externC,externConstexpr,hiddenFriend,lambda,preprocessor,referenceBinding,rvalueCast,strictStrings,ternary,throwingNew,trigraphs
$<$<CONFIG:Debug>:/JMC>
$<$<NOT:$<CONFIG:Debug>>:/guard:cf /guard:ehcont /GA /GT /Gw /Gy /Oi /Oy /QIntel-jcc-erratum /Qspectre-load /Zc:inline>
$<$<NOT:$<CONFIG:Debug>>:/guard:cf /guard:ehcont /GA /GT /Gw /Gy /Ob3 /Oi /Oy /QIntel-jcc-erratum /Qspectre-load /Zc:inline>
)
target_link_options(${PROJECT_NAME} PRIVATE

View File

@ -225,8 +225,7 @@ void HiDPI::Initialize()
wcex.lpfnWndProc = DefWindowProcW;
wcex.hInstance = instance;
wcex.lpszClassName = WINDOW_CLASS_NAME;
const ATOM atom = RegisterClassExW(&wcex);
if (atom) {
if (RegisterClassExW(&wcex) != INVALID_ATOM) {
FakeWindow = CreateWindowExW(0, WINDOW_CLASS_NAME, nullptr,
WS_OVERLAPPEDWINDOW, 0, 0, 0, 0, nullptr, nullptr, instance, nullptr);
if (!FakeWindow) {
@ -351,8 +350,12 @@ EXTERN_C int WINAPI wmain(int argc, wchar_t *argv[])
std::unordered_map<std::wstring, std::wstring> options = {};
std::vector<std::wstring> metrics = {};
if (argc > 1) {
bool skipNext = false;
bool skip = false;
for (int i = 1; i != argc; ++i) {
if (skip) {
skip = false;
continue;
}
const std::wstring arg = argv[i];
if (arg.starts_with(L"SM_CX") || arg.starts_with(L"SM_CY")) {
if (SYSTEM_METRIC_TABLE.contains(arg)) {
@ -372,7 +375,7 @@ EXTERN_C int WINAPI wmain(int argc, wchar_t *argv[])
if (pos == std::wstring::npos) {
const int index = i + 1;
if (index < argc) {
skipNext = true;
skip = true;
param = argv[index];
}
} else {
@ -384,8 +387,6 @@ EXTERN_C int WINAPI wmain(int argc, wchar_t *argv[])
} else {
options.insert({option, param});
}
} else if (skipNext) {
skipNext = false;
} else {
std::wcerr << L"Unrecognized parameter: " << arg << std::endl;
}