mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-01 01:10:34 +08:00
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
56 lines
1.6 KiB
CMake
56 lines
1.6 KiB
CMake
cmake_minimum_required(VERSION 3.28)
|
|
|
|
project(MAA)
|
|
|
|
include(src/MaaUtils/MaaUtils.cmake)
|
|
|
|
if(NOT CMAKE_BUILD_TYPE)
|
|
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build." FORCE)
|
|
endif()
|
|
|
|
option(BUILD_WPF_GUI "build MaaWpfGui" ${WIN32})
|
|
option(BUILD_DEBUG_DEMO "build debug demo" OFF)
|
|
option(BUILD_XCFRAMEWORK "build xcframework for macOS app" OFF)
|
|
option(BUILD_SMOKE_TEST "build smoke_test" OFF)
|
|
option(INSTALL_PYTHON "install python ffi" OFF)
|
|
option(INSTALL_RESOURCE "install resource" OFF)
|
|
option(INSTALL_FLATTEN "do not use bin lib include directory" ON)
|
|
option(WITH_EMULATOR_EXTRAS "build with emulator extras" ${WIN32})
|
|
option(WITH_HASH_VERSION "generate version from git hash" OFF)
|
|
|
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/modules")
|
|
include(${PROJECT_SOURCE_DIR}/cmake/config.cmake)
|
|
include(${PROJECT_SOURCE_DIR}/cmake/utils.cmake)
|
|
|
|
if(APPLE)
|
|
include(${PROJECT_SOURCE_DIR}/cmake/macos.cmake)
|
|
endif()
|
|
|
|
if(INSTALL_FLATTEN)
|
|
set(MaaCore_install_flatten_args RUNTIME DESTINATION . LIBRARY DESTINATION . PUBLIC_HEADER DESTINATION .)
|
|
endif()
|
|
|
|
add_library(HeaderOnlyLibraries INTERFACE)
|
|
target_include_directories(HeaderOnlyLibraries INTERFACE 3rdparty/include)
|
|
|
|
add_subdirectory(src/MaaCore)
|
|
|
|
if(BUILD_WPF_GUI)
|
|
include_external_msproject(MaaWpfGui ${PROJECT_SOURCE_DIR}/src/MaaWpfGui/MaaWpfGui.csproj)
|
|
|
|
add_dependencies(MaaWpfGui MaaCore)
|
|
endif()
|
|
|
|
if(INSTALL_PYTHON)
|
|
install(DIRECTORY src/Python DESTINATION .)
|
|
endif()
|
|
|
|
if(INSTALL_RESOURCE)
|
|
install(DIRECTORY resource DESTINATION .)
|
|
endif()
|
|
|
|
if(BUILD_DEBUG_DEMO OR BUILD_SMOKE_TEST)
|
|
add_subdirectory(src/Cpp)
|
|
endif()
|
|
|