From d08a065442731f5e99cf9b23500cb6bfde592572 Mon Sep 17 00:00:00 2001 From: JackLee_CN <809262979@qq.com> Date: Sat, 12 Oct 2024 22:08:32 +0800 Subject: [PATCH] =?UTF-8?q?cmakelists=E5=88=87=E6=8D=A2=E4=B8=BAvcpkg?= =?UTF-8?q?=E5=BA=93=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 19 +++++++------------ CMakePresets.json | 16 ++++++++++++++++ vcpkg-configuration.json | 14 ++++++++++++++ 3 files changed, 37 insertions(+), 12 deletions(-) create mode 100644 CMakePresets.json create mode 100644 vcpkg-configuration.json diff --git a/CMakeLists.txt b/CMakeLists.txt index db0855e..df8e52b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,10 @@ #cmake最低版本 cmake_minimum_required(VERSION 3.16) +set(VCPKG_ROOT "F:/SourceCode/vcpkg") +set(CMAKE_TOOLCHAIN_FILE "F:/SourceCode/vcpkg/scripts/buildsystems/vcpkg.cmake") +set(VCPKG_TARGET_TRIPLET "x64-mingw-static") + #项目版本 project(XSteam VERSION 1.0.0 LANGUAGES CXX) configure_file (version.h.in version.h @ONLY) @@ -38,10 +42,9 @@ endif() #设置QT .cmake文件路径 SET(QT_DIR "D:/Dev/Qt/6.3.2/mingw1120_static_x64_base/lib/cmake") -SET(MSYS2 "D:/Dev/msys64/mingw64/lib") SET(JSON ${PROJECT_SOURCE_DIR}/3rdparty/json) -LIST(APPEND CMAKE_PREFIX_PATH ${QT_DIR} ${MSYS2}) +LIST(APPEND CMAKE_PREFIX_PATH ${QT_DIR}) #查找QT模块 FIND_PACKAGE(Qt6 REQUIRED Core Gui Widgets Network) @@ -49,7 +52,6 @@ FIND_PACKAGE(Qt6 REQUIRED Core Gui Widgets Network) #输出路径 MESSAGE(STATUS "----------基础路径输出 START-------------") MESSAGE(STATUS "QT_DIR_PATH=${QT_DIR}") -MESSAGE(STATUS "MSYS2_DIR_PATH=${MSYS2}") MESSAGE(STATUS "JSON_DIR_PATH=${JSON}") MESSAGE(STATUS "----------基础路径输出 END---------------") @@ -59,7 +61,6 @@ find_package(PkgConfig REQUIRED QUIET) pkg_check_modules(LIBGIT2 REQUIRED IMPORTED_TARGET libgit2) if(LIBGIT2_FOUND) include_directories(${LIBGIT2_INCLUDE_DIRS}) - link_directories(${LIBGIT2_LIBRARIES}) message(STATUS "------------LIBGIT2 INFO----------------------") message(STATUS "LIBGIT2_FOUND=Yes") message(STATUS "LIBGIT2 Found:->LIBGIT2_LIBRARIES:${LIBGIT2_LIBRARIES}") @@ -81,7 +82,6 @@ find_package(PkgConfig REQUIRED) pkg_check_modules(CURL REQUIRED IMPORTED_TARGET libcurl) if(CURL_FOUND) include_directories(${CURL_INCLUDE_DIRS}) - #link_directories(${CURL_LIBRARIES}) message(STATUS "------------CURL INFO START---------------------") message(STATUS "CURL_FOUND=Yes") message(STATUS "Curl Found:->CRUL_LIBRARIES:${CURL_LIBRARIES}") @@ -149,12 +149,7 @@ SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} -fstack-check") #忽略多重定引用 target_link_options(${PROJECT_NAME} PUBLIC -Wl,--allow-multiple-definition) + target_link_libraries( - ${PROJECT_NAME} PRIVATE ${LIBGIT2_STATIC_LIBRARIES} -lwinhttp -lpcre.dll -lcrypto -lssl -lz -) -target_link_libraries( - ${PROJECT_NAME} PRIVATE ${CURL_LINK_LIBRARIES} -) -target_link_libraries( - ${PROJECT_NAME} PRIVATE Qt6::Core Qt6::Gui Qt6::Widgets Qt6::Network + ${PROJECT_NAME} PRIVATE Qt6::Core Qt6::Gui Qt6::Widgets Qt6::Network PkgConfig::LIBGIT2 PkgConfig::CURL ) diff --git a/CMakePresets.json b/CMakePresets.json new file mode 100644 index 0000000..3710d28 --- /dev/null +++ b/CMakePresets.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "configurePresets": [ + { + "name": "vcpkg-mingw-x64", + "generator": "Ninja", + "binaryDir": "${sourceDir}/build", + "cacheVariables": { + "CMAKE_MAKE_PROGRAM":"ninja.exe", + "CMAKE_C_COMPILER":"x86_64-w64-mingw32-gcc.exe", + "CMAKE_CXX_COMPILER":"x86_64-w64-mingw32-g++.exe", + "CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" + } + } + ] + } \ No newline at end of file diff --git a/vcpkg-configuration.json b/vcpkg-configuration.json new file mode 100644 index 0000000..93db3b4 --- /dev/null +++ b/vcpkg-configuration.json @@ -0,0 +1,14 @@ +{ + "default-registry": { + "kind": "git", + "baseline": "9558037875497b9db8cf38fcd7db68ec661bffe7", + "repository": "https://github.com/microsoft/vcpkg" + }, + "registries": [ + { + "kind": "artifact", + "location": "https://github.com/microsoft/vcpkg-ce-catalog/archive/refs/heads/main.zip", + "name": "microsoft" + } + ] +}