WeChatFerry/WeChatFerry/CMakeLists.txt
CoderTyn f724230bd1 chore: add CMake support for MinGW-w64 environment
1.move framework.h to com
2.change text encoding  of .def files to UTF-8
3.bump vcpkg dependencies' version
4.make the code conform to Standard C++
2025-04-23 19:32:26 +08:00

57 lines
1.4 KiB
CMake

cmake_minimum_required(VERSION 3.15)
# Common compiler flags
# 设置 C 语言标准为 C17
set(CMAKE_C_STANDARD 17)
# 确保要求该标准为必须
# set(CMAKE_C_STANDARD_REQUIRED ON)
# 默认情况下禁用 GNU 扩展
set(CMAKE_C_EXTENSIONS OFF)
# 设置 C++ 语言标准为 C++17
set(CMAKE_CXX_STANDARD 17)
# set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
# 集成vcpkg
set(VCPKG_TARGET_TRIPLET "x64-mingw-static" CACHE STRING "Vcpkg target triplet")
set(VCPKG_HOST_TRIPLET "x64-mingw-static" CACHE STRING "Vcpkg host triplet")
set(VCPKG_MANIFEST_MODE ON CACHE BOOL "Enable manifest mode")
if(DEFINED ENV{VCPKG_ROOT})
set(CMAKE_TOOLCHAIN_FILE "$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" CACHE STRING "Vcpkg toolchain file")
else()
set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake" CACHE STRING "Vcpkg toolchain file")
endif()
# include(FetchContent)
# include(ExternalProject)
project(WeChatFerry LANGUAGES C CXX)
add_compile_options(
-Wall
-Wextra
-fPIC
)
add_link_options(
-static
)
# Include directories
include_directories(
${CMAKE_SOURCE_DIR}/com
${CMAKE_SOURCE_DIR}/rpc
${CMAKE_SOURCE_DIR}/rpc/nanopb
${CMAKE_SOURCE_DIR}/rpc/proto
${CMAKE_SOURCE_DIR}/sdk
${CMAKE_SOURCE_DIR}/spy
${CMAKE_SOURCE_DIR}/smc
)
# Add subdirectories
add_subdirectory(sdk)
add_subdirectory(spy)