Skip to content

Commit 9f9e4d1

Browse files
committed
Update CMakeLists.txt
1 parent e343cdf commit 9f9e4d1

1 file changed

Lines changed: 31 additions & 5 deletions

File tree

CMakeLists.txt

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -558,16 +558,42 @@ target_sources(${PROJECT_NAME}
558558
# -------------------------
559559
if(WIN32)
560560
string(TIMESTAMP GENYCONNECT_COPYRIGHT_YEAR "%Y")
561-
set(GENYCONNECT_WINDOWS_ICON_PATH "${CMAKE_CURRENT_SOURCE_DIR}/ui/Resources/image/GenyConnect.ico")
562-
file(TO_NATIVE_PATH "${GENYCONNECT_WINDOWS_ICON_PATH}" GENYCONNECT_WINDOWS_ICON_PATH)
563-
set(GENYCONNECT_WINDOWS_RC_IN "${CMAKE_CURRENT_SOURCE_DIR}/properties/Windows/app.rc.in")
564-
set(GENYCONNECT_WINDOWS_RC_OUT "${CMAKE_CURRENT_BINARY_DIR}/GenyConnect.rc")
561+
562+
set(GENYCONNECT_WINDOWS_ICON_SOURCE
563+
"${CMAKE_CURRENT_SOURCE_DIR}/ui/Resources/image/GenyConnect.ico"
564+
)
565+
566+
if(NOT EXISTS "${GENYCONNECT_WINDOWS_ICON_SOURCE}")
567+
message(FATAL_ERROR
568+
"Windows icon file not found: ${GENYCONNECT_WINDOWS_ICON_SOURCE}"
569+
)
570+
endif()
571+
572+
# Important:
573+
# Do NOT use file(TO_NATIVE_PATH) here.
574+
# Windows .rc files can misinterpret backslash escapes like \a in D:\a\...
575+
file(TO_CMAKE_PATH
576+
"${GENYCONNECT_WINDOWS_ICON_SOURCE}"
577+
GENYCONNECT_WINDOWS_ICON_PATH
578+
)
579+
580+
set(GENYCONNECT_WINDOWS_RC_IN
581+
"${CMAKE_CURRENT_SOURCE_DIR}/properties/Windows/app.rc.in"
582+
)
583+
584+
set(GENYCONNECT_WINDOWS_RC_OUT
585+
"${CMAKE_CURRENT_BINARY_DIR}/GenyConnect.rc"
586+
)
587+
565588
configure_file(
566589
"${GENYCONNECT_WINDOWS_RC_IN}"
567590
"${GENYCONNECT_WINDOWS_RC_OUT}"
568591
@ONLY
569592
)
570-
target_sources(${PROJECT_NAME} PRIVATE "${GENYCONNECT_WINDOWS_RC_OUT}")
593+
594+
target_sources(${PROJECT_NAME} PRIVATE
595+
"${GENYCONNECT_WINDOWS_RC_OUT}"
596+
)
571597
endif()
572598
# -------------------------
573599
# Xray auto-download

0 commit comments

Comments
 (0)