cmake_minimum_required(VERSION 3.16) project(branch_switcher) include(cmake/project_cpp_standard.cmake) set_cpp_standard(20) # 如果需要,手动指定 wxWidgets 路径 set(wxWidgets_ROOT_DIR "D:/Software/msys2/mingw64") # 添加 MSYS2 特定设置 if(MINGW) add_definitions(-D__WXMSW__) set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--allow-multiple-definition") endif() # 寻找所需的包 find_package(wxWidgets REQUIRED COMPONENTS core base adv html net) find_package(unofficial-libgit2 REQUIRED) find_package(Boost REQUIRED COMPONENTS process) # 输出 wxWidgets 信息,用于调试 message(STATUS "wxWidgets_FOUND: ${wxWidgets_FOUND}") message(STATUS "wxWidgets_INCLUDE_DIRS: ${wxWidgets_INCLUDE_DIRS}") message(STATUS "wxWidgets_LIBRARIES: ${wxWidgets_LIBRARIES}") # 包含 wxWidgets 设置 include(${wxWidgets_USE_FILE}) include(cmake/retrieve_files.cmake) # 获取源文件 set(SRC_FILES "") retrieve_files(${CMAKE_CURRENT_SOURCE_DIR}/src SRC_FILES) add_executable(${PROJECT_NAME} ${SRC_FILES}) # 包含目录 target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src ${wxWidgets_INCLUDE_DIRS} ) # 链接库 target_link_libraries(${PROJECT_NAME} PRIVATE ${wxWidgets_LIBRARIES} unofficial::libgit2::libgit2 Boost::process )