47 lines
1.3 KiB
CMake
47 lines
1.3 KiB
CMake
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
|
|
)
|