Done
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
cmake_minimum_required(VERSION 3.15)
|
||||
project(CloseWindowsService C)
|
||||
|
||||
file(GLOB SOURCES *.c)
|
||||
list(FILTER SOURCES EXCLUDE REGEX \\.t\\.c)
|
||||
list(FILTER SOURCES EXCLUDE REGEX main.c)
|
||||
|
||||
foreach (item IN LISTS SOURCES)
|
||||
message(STATUS "[${PROJECT_NAME}] SOURCE: ${item}")
|
||||
endforeach ()
|
||||
|
||||
if(MSVC)
|
||||
add_compile_options(/utf-8)
|
||||
endif()
|
||||
|
||||
if(MINGW)
|
||||
# 检查项目根目录下是否存在 UAC.manifest 文件
|
||||
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/UAC.manifest")
|
||||
# 自动在 build 目录下生成一个临时的资源文件资源文件
|
||||
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/uac_resource.rc" "1 24 \"${CMAKE_CURRENT_SOURCE_DIR}/UAC.manifest\"")
|
||||
# 将生成的 .rc 文件作为一个源文件加入列表中
|
||||
set(UAC_RESOURCE_SRC "${CMAKE_CURRENT_BINARY_DIR}/uac_resource.rc")
|
||||
else()
|
||||
message(FATAL_ERROR "未找到 UAC.manifest 文件,请确保它存在于项目根目录下!")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
add_executable(${PROJECT_NAME} main.c ${SOURCES})
|
||||
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_LIST_DIR} )
|
||||
|
||||
if(MSVC)
|
||||
target_link_options(${PROJECT_NAME} PRIVATE "/MANIFESTUAC:level='requireAdministrator' uiAccess='false'")
|
||||
endif()
|
||||
Reference in New Issue
Block a user