diff --git a/CMakeLists.txt b/CMakeLists.txt index df8e52b..75af1e0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,8 @@ 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") - +SET(CMAKE_C_COMPILER "x86_64-w64-mingw32-gcc.exe") +SET(CMAKE_CXX_COMPILER "x86_64-w64-mingw32-g++.exe") #项目版本 project(XSteam VERSION 1.0.0 LANGUAGES CXX) configure_file (version.h.in version.h @ONLY) @@ -44,10 +45,10 @@ endif() SET(QT_DIR "D:/Dev/Qt/6.3.2/mingw1120_static_x64_base/lib/cmake") SET(JSON ${PROJECT_SOURCE_DIR}/3rdparty/json) -LIST(APPEND CMAKE_PREFIX_PATH ${QT_DIR}) +LIST(APPEND CMAKE_PREFIX_PATH ${QT_DIR} ${MSYS}) #查找QT模块 -FIND_PACKAGE(Qt6 REQUIRED Core Gui Widgets Network) +FIND_PACKAGE(Qt6 REQUIRED Core Gui Widgets) #输出路径 MESSAGE(STATUS "----------基础路径输出 START-------------") @@ -106,15 +107,13 @@ SET(PROJECT_SOURCES ${src} ) # 设置消息策略为qFatal来禁用qDebug信息 -SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQT_NO_DEBUG_OUTPUT") +LIST(APPEND CMAKE_CXX_FLAGS "-DQT_NO_DEBUG_OUTPUT") #资源文件 QT6_ADD_RESOURCES(RCFILES res.qrc) #WIN32 add_executable(${PROJECT_NAME} WIN32 ${PROJECT_SOURCES} ${RCFILES} xsteam.rc) -#增加winpthread和gcc_s静态库 -SET(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-Wl,-Bstatic -lwinpthread -Wl,-Bstatic -lz -Wl,-Bstatic -lgcc_s") #安全编译 #关闭RPATH特性 SET(CMAKE_SKIP_RPATH TRUE) @@ -147,9 +146,13 @@ SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} -ftrapv") #开启栈检查 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} -fstack-check") +#增加winpthread和gcc_s静态库 +SET(CMAKE_CXX_FLAGS "-static-libstdc++ -static-libgcc") #忽略多重定引用 target_link_options(${PROJECT_NAME} PUBLIC -Wl,--allow-multiple-definition) target_link_libraries( - ${PROJECT_NAME} PRIVATE Qt6::Core Qt6::Gui Qt6::Widgets Qt6::Network PkgConfig::LIBGIT2 PkgConfig::CURL + ${PROJECT_NAME} PRIVATE Qt6::Core Qt6::Gui Qt6::Widgets PkgConfig::LIBGIT2 PkgConfig::CURL ) + + diff --git a/CMakePresets.json b/CMakePresets.json index 3710d28..11ba1e8 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -1,16 +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 +{ + "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