50 lines
1.6 KiB
CMake
50 lines
1.6 KiB
CMake
![]() |
# CMake最低版本要求
|
||
|
cmake_minimum_required(VERSION 3.10)
|
||
|
|
||
|
# 项目名称
|
||
|
project(SoftwareRegistration CXX)
|
||
|
|
||
|
# 设置C++标准
|
||
|
set(CMAKE_CXX_STANDARD 11)
|
||
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||
|
|
||
|
# 添加头文件目录
|
||
|
include_directories(include lib)
|
||
|
|
||
|
# 添加源文件
|
||
|
aux_source_directory(src SRC_FILES)
|
||
|
|
||
|
# --- 生成主程序 (用于生成密钥) ---
|
||
|
add_executable(machine_code_generator WIN32 src/generator_gui.cpp)
|
||
|
target_link_libraries(machine_code_generator PRIVATE RegistrationDLL)
|
||
|
|
||
|
# --- 生成DLL库 ---
|
||
|
add_library(RegistrationDLL SHARED src/registration_api.cpp src/machine_code.cpp)
|
||
|
target_include_directories(RegistrationDLL PRIVATE include lib)
|
||
|
if(WIN32)
|
||
|
target_link_libraries(RegistrationDLL PRIVATE wbemuuid ole32 oleaut32)
|
||
|
endif()
|
||
|
# 定义导出宏
|
||
|
target_compile_definitions(RegistrationDLL PRIVATE REGISTRATION_EXPORTS)
|
||
|
|
||
|
# --- 生成GUI应用程序 ---
|
||
|
add_executable(RegistrationApp WIN32 src/gui.cpp)
|
||
|
target_link_libraries(RegistrationApp PRIVATE RegistrationDLL)
|
||
|
|
||
|
# --- 生成测试程序 ---
|
||
|
add_executable(test_license src/test_license.cpp)
|
||
|
target_link_libraries(test_license PRIVATE RegistrationDLL)
|
||
|
|
||
|
# --- 生成仅验证程序 ---
|
||
|
add_executable(validate_only src/validate_only.cpp)
|
||
|
target_link_libraries(validate_only PRIVATE RegistrationDLL)
|
||
|
|
||
|
# --- 生成有效许可证文件程序 ---
|
||
|
add_executable(generate_valid src/generate_valid.cpp)
|
||
|
target_link_libraries(generate_valid PRIVATE RegistrationDLL)
|
||
|
|
||
|
# 将生成的文件输出到 build/bin 目录
|
||
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||
|
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|