# HG changeset patch # User raptor # Date 1565723412 21600 # Node ID 5b2dec63f4cfb111436e47635db44370c8daff76 # Parent e1d11d8dafdd04c41674e616abfd786d09017dc4 Fix compiling on MacOS X by requiring c++11 standard. Building now requires MacOS X 10.8+ and CMake 3.9+ diff -r e1d11d8dafdd -r 5b2dec63f4cf cmake_modules/platform.cmake --- a/cmake_modules/platform.cmake Tue Aug 13 12:29:26 2019 -0600 +++ b/cmake_modules/platform.cmake Tue Aug 13 13:10:12 2019 -0600 @@ -1,9 +1,12 @@ if(APPLE) - if(${CMAKE_VERSION} VERSION_GREATER "2.8.10.2" AND - ${CMAKE_VERSION} VERSION_LESS "2.8.12.1") - message(FATAL_ERROR "This version of CMake is known *not* to work, please update or use a lower version") - endif() + #minimum for macOS. sorry! + cmake_minimum_required(VERSION 3.9.0) + + #set c++11 standard for QT requirements + set(CMAKE_CXX_STANDARD 11) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -stdlib=libc++") set(CMAKE_FIND_FRAMEWORK "FIRST") @@ -31,21 +34,10 @@ set(minimum_macosx_version ${current_macosx_version}) endif() - #10.3 systems don't have enough processing power anyway - #10.4 does not have @rpath support (which SDL uses) - if(minimum_macosx_version VERSION_LESS "10.5") - message(FATAL_ERROR "Hedgewars is not supported on your version of Mac OS X") - endif() - - if(NOT CMAKE_OSX_ARCHITECTURES) - if(current_macosx_version VERSION_LESS "10.6") - #SDL is only 32 bit on older OS version - if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "powerpc*") - set(CMAKE_OSX_ARCHITECTURES "ppc7400") - else() - set(CMAKE_OSX_ARCHITECTURES "i386") - endif() - endif() + #minimum OSX version is 10.8. Earlier versions cannot compile some dependencies anymore + #(like ffmpeg/libav) + if(minimum_macosx_version VERSION_LESS "10.8") + message(FATAL_ERROR "Hedgewars is unsupported on your platform and requires Mac OS X 10.8+") endif() #parse this system variable and adjust only the powerpc syntax to be compatible with -P @@ -97,12 +89,6 @@ #add user framework directory add_flag_append(CMAKE_Pascal_FLAGS "-Ff~/Library/Frameworks") - #workaround older cmake versions - if(${CMAKE_VERSION} VERSION_LESS "2.8.12") - add_flag_append(CMAKE_C_LINK_FLAGS "-Wl,-rpath -Wl,${CMAKE_INSTALL_RPATH}") - add_flag_append(CMAKE_CXX_LINK_FLAGS "-Wl,-rpath -Wl,${CMAKE_INSTALL_RPATH}") - add_flag_append(CMAKE_Pascal_LINK_FLAGS "-k-rpath -k${CMAKE_INSTALL_RPATH}") - endif() endif(APPLE) if(MINGW) diff -r e1d11d8dafdd -r 5b2dec63f4cf share/CMakeLists.txt --- a/share/CMakeLists.txt Tue Aug 13 12:29:26 2019 -0600 +++ b/share/CMakeLists.txt Tue Aug 13 13:10:12 2019 -0600 @@ -7,11 +7,6 @@ #CFBundleVersion is HEDGEWARS_REVISION #CFBundleShortVersionString is HEDGEWARS_VERSION - #libav/ffmpeg always brings in VideoDecoderAcceleration, avaible only from 10.6.3 - if(LIBAV_FOUND AND ${minimum_macosx_version} VERSION_EQUAL "10.6") - set(minimum_macosx_version "10.6.3") - endif() - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in ${CMAKE_CURRENT_BINARY_DIR}/Info.plist) #path here should be Hedgewars.app/Contents/MacOS