1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-04-11 11:31:52 +02:00

get rid of the custom toolchain

This commit is contained in:
Andrey Filipenkov 2022-08-08 17:38:57 +03:00
parent 2a958a346e
commit 1bb6a20b76
4 changed files with 24 additions and 1051 deletions

View File

@ -157,19 +157,27 @@ set(CMAKE_MAP_IMPORTED_CONFIG_MINSIZEREL MinSizeRel Release RelWithDebInfo "")
# Release falls back to RelWithDebInfo, then MinSizeRel
set(CMAKE_MAP_IMPORTED_CONFIG_RELEASE Release RelWithDebInfo MinSizeRel "")
set(CMAKE_XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC YES)
set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT[variant=Debug] dwarf)
set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE NO)
set(CMAKE_XCODE_ATTRIBUTE_MARKETING_VERSION ${APP_SHORT_VERSION})
set(CMAKE_XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH NO)
set(CMAKE_XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH[variant=Debug] YES)
if(APPLE_IOS)
set(CMAKE_MACOSX_RPATH 1)
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.0)
list(APPEND CMAKE_FIND_ROOT_PATH "${CMAKE_PREFIX_PATH}") # required for Boost
set(CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH FALSE)
set(CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH FALSE)
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED NO)
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED_FOR_APPS YES)
set(CMAKE_XCODE_ATTRIBUTE_MARKETING_VERSION ${APP_SHORT_VERSION})
set(CMAKE_XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "${BUNDLE_IDENTIFIER_PREFIX}.$(PRODUCT_NAME)")
set(SYSTEM_LIBS ${SYSTEM_LIBS} iconv) # boost.locale
set(CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2")
endif(APPLE_IOS)
if(CMAKE_GENERATOR STREQUAL Xcode)
set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT[variant=Debug] dwarf)
endif()
if(MINGW OR MSVC)
# Windows Vista or newer for FuzzyLite 6 to compile
add_definitions(-D_WIN32_WINNT=0x0600)
@ -245,11 +253,6 @@ if(CMAKE_COMPILER_IS_GNUCXX OR NOT WIN32) #so far all *nix compilers support suc
endif()
endif()
if(APPLE_IOS)
set(CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2") # iPhone + iPad
set(CMAKE_XCODE_ATTRIBUTE_GCC_WARN_64_TO_32_BIT_CONVERSION "NO")
endif(APPLE_IOS)
# Check if some platform-specific libraries are needed for linking
if(NOT WIN32 AND NOT APPLE_IOS)
include(CheckLibraryExists)
@ -278,11 +281,6 @@ if(TARGET zlib::zlib)
add_library(ZLIB::ZLIB ALIAS zlib::zlib)
endif()
# TODO: needed only for device+simulator
# if(APPLE_IOS)
# set(ZLIB_LIBRARIES "-lz")
# endif()
set(FFMPEG_COMPONENTS avutil swscale avformat avcodec)
if(APPLE_IOS)
list(APPEND FFMPEG_COMPONENTS swresample)

View File

@ -247,6 +247,11 @@ if(ffmpeg_LIBRARIES)
target_link_libraries(vcmiclient PRIVATE
${ffmpeg_LIBRARIES}
)
if(APPLE_IOS)
target_link_libraries(vcmiclient PRIVATE
iconv
)
endif()
else()
target_compile_definitions(vcmiclient PRIVATE DISABLE_VIDEO)
endif()

View File

@ -1,34 +1,18 @@
#!/usr/bin/env bash
platform=OS64
globalPrefix=~/dev/vcmi/vcmi-ios-depends/build/iphoneos
qtDir=~/dev/Qt-libs/5.15.5/ios10-widgets
prefixPath=~/dev/vcmi/vcmi-ios-depends/build/iphoneos
if [[ "$1" ]]; then
platform=SIMULATOR64
globalPrefix=~/dev/vcmi/vcmi-ios-depends/build/iphonesimulator
prefixPath=~/dev/vcmi/vcmi-ios-depends/build/iphonesimulator
fi
prefixPath="$globalPrefix;$qtDir"
# prefixPath="$boostPrefix;$sdlLibsDir"
# xcodeMajorVersion=$(xcodebuild -version | fgrep Xcode | cut -d ' ' -f 2 | cut -d . -f 1)
# if [[ $xcodeMajorVersion -ge 12 ]]; then
# extraVars=-DCMAKE_FRAMEWORK_PATH=~/dev/ios/vcmi-ios-deps/mobile-ffmpeg-min-gpl-4.4-xc12-frameworks
# else
# prefixPath+=;~/dev/ios/vcmi-ios-deps/mobile-ffmpeg-min-universal
# fi
# -DCMAKE_OSX_SYSROOT=iphonesimulator
srcDir="../vcmi"
# cmake "$srcDir" -G Xcode -T buildsystem=1 \
cmake "$srcDir" -G Xcode \
cmake ../vcmi -G Xcode \
-DCMAKE_SYSTEM_NAME=iOS \
-DFORCE_BUNDLED_MINIZIP=ON \
-DBUNDLE_IDENTIFIER_PREFIX=com.kambala \
-Wno-dev \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
--toolchain "$srcDir/ios.toolchain.cmake" \
-DPLATFORM=$platform \
-DDEPLOYMENT_TARGET=12.0 \
-DENABLE_BITCODE=OFF \
-DCMAKE_BINARY_DIR=$(pwd) \
-DCMAKE_PREFIX_PATH="$prefixPath" \
-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY='Apple Development' \
-DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM='4XHN44TEVG'

File diff suppressed because it is too large Load Diff