This commit is contained in:
2026-02-20 12:18:52 +08:00
parent ab7ee978e7
commit c5d109e9be
18 changed files with 1444 additions and 567 deletions

View File

@@ -15,17 +15,29 @@ add_definitions(-D_UNICODE -DUNICODE)
project(EzUI)
file(GLOB src ./include/EzUI/*.* ./sources/*.* )
# 添加一个选项,供用户选择构建静态库或动态库
option(BUILD_SHARED_LIBS "Build shared library instead of static library" OFF)
if(BUILD_SHARED_LIBS)
add_library(EzUI SHARED ${src})
else()
add_library(EzUI STATIC ${src})
target_compile_definitions(EzUI PUBLIC EZUI_STATIC)
endif()
# 始终编译为静态库
add_library(EzUI STATIC ${src})
target_compile_definitions(EzUI PUBLIC EZUI_STATIC)
target_include_directories(EzUI PRIVATE ./include/EzUI)
set_target_properties(EzUI PROPERTIES LINKER_LANGUAGE CXX)
# 设置库文件输出目录和命名规则
# 平台标识:根据架构判断 Win32 或 x64
set(PLATFORM_TAG $<IF:$<EQUAL:${CMAKE_SIZEOF_VOID_P},8>,x64,Win32>)
# 设置输出目录为 lib
set_target_properties(EzUI PROPERTIES
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/lib"
ARCHIVE_OUTPUT_DIRECTORY_DEBUG "${CMAKE_SOURCE_DIR}/lib"
ARCHIVE_OUTPUT_DIRECTORY_RELEASE "${CMAKE_SOURCE_DIR}/lib"
)
# 设置库文件命名规则为 EzUI_$(Configuration)_$(Platform).lib
set_target_properties(EzUI PROPERTIES
OUTPUT_NAME "EzUI_$<CONFIG>_${PLATFORM_TAG}"
)
# 定义函数: 添加资源打包任务并关联到指定项目
function(add_resource_package TARGET_NAME INPUT_DIR OUTPUT_FILE)
set (ProjectName ${TARGET_NAME}_EzUI_ResourcePackager)