cmake_modules/platform.cmake
changeset 15312 5b2dec63f4cf
parent 11362 ed5a6478e710
equal deleted inserted replaced
15311:e1d11d8dafdd 15312:5b2dec63f4cf
     1 
     1 
     2 if(APPLE)
     2 if(APPLE)
     3     if(${CMAKE_VERSION} VERSION_GREATER "2.8.10.2" AND
     3     #minimum for macOS.  sorry!
     4        ${CMAKE_VERSION} VERSION_LESS "2.8.12.1")
     4     cmake_minimum_required(VERSION 3.9.0)
     5         message(FATAL_ERROR "This version of CMake is known *not* to work, please update or use a lower version")
     5 
     6     endif()
     6     #set c++11 standard for QT requirements
       
     7     set(CMAKE_CXX_STANDARD 11)
       
     8     set(CMAKE_CXX_STANDARD_REQUIRED ON)
       
     9     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -stdlib=libc++")
     7 
    10 
     8     set(CMAKE_FIND_FRAMEWORK "FIRST")
    11     set(CMAKE_FIND_FRAMEWORK "FIRST")
     9 
    12 
    10     #what system are we building for
    13     #what system are we building for
    11     set(minimum_macosx_version $ENV{MACOSX_DEPLOYMENT_TARGET})
    14     set(minimum_macosx_version $ENV{MACOSX_DEPLOYMENT_TARGET})
    29     #if nothing is set, we deploy only for the current system
    32     #if nothing is set, we deploy only for the current system
    30     if(NOT minimum_macosx_version)
    33     if(NOT minimum_macosx_version)
    31         set(minimum_macosx_version ${current_macosx_version})
    34         set(minimum_macosx_version ${current_macosx_version})
    32     endif()
    35     endif()
    33 
    36 
    34     #10.3 systems don't have enough processing power anyway
    37     #minimum OSX version is 10.8.  Earlier versions cannot compile some dependencies anymore
    35     #10.4 does not have @rpath support (which SDL uses)
    38     #(like ffmpeg/libav)
    36     if(minimum_macosx_version VERSION_LESS "10.5")
    39     if(minimum_macosx_version VERSION_LESS "10.8")
    37         message(FATAL_ERROR "Hedgewars is not supported on your version of Mac OS X")
    40         message(FATAL_ERROR "Hedgewars is unsupported on your platform and requires Mac OS X 10.8+")
    38     endif()
       
    39 
       
    40     if(NOT CMAKE_OSX_ARCHITECTURES)
       
    41         if(current_macosx_version VERSION_LESS "10.6")
       
    42             #SDL is only 32 bit on older OS version
       
    43             if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "powerpc*")
       
    44                 set(CMAKE_OSX_ARCHITECTURES "ppc7400")
       
    45             else()
       
    46                 set(CMAKE_OSX_ARCHITECTURES "i386")
       
    47             endif()
       
    48         endif()
       
    49     endif()
    41     endif()
    50 
    42 
    51     #parse this system variable and adjust only the powerpc syntax to be compatible with -P
    43     #parse this system variable and adjust only the powerpc syntax to be compatible with -P
    52     if(CMAKE_OSX_ARCHITECTURES)
    44     if(CMAKE_OSX_ARCHITECTURES)
    53         string(REGEX MATCH "[pP][pP][cC]+" powerpc_build "${CMAKE_OSX_ARCHITECTURES}")
    45         string(REGEX MATCH "[pP][pP][cC]+" powerpc_build "${CMAKE_OSX_ARCHITECTURES}")
    95     endif()
    87     endif()
    96 
    88 
    97     #add user framework directory
    89     #add user framework directory
    98     add_flag_append(CMAKE_Pascal_FLAGS "-Ff~/Library/Frameworks")
    90     add_flag_append(CMAKE_Pascal_FLAGS "-Ff~/Library/Frameworks")
    99 
    91 
   100     #workaround older cmake versions
       
   101     if(${CMAKE_VERSION} VERSION_LESS "2.8.12")
       
   102         add_flag_append(CMAKE_C_LINK_FLAGS "-Wl,-rpath -Wl,${CMAKE_INSTALL_RPATH}")
       
   103         add_flag_append(CMAKE_CXX_LINK_FLAGS "-Wl,-rpath -Wl,${CMAKE_INSTALL_RPATH}")
       
   104         add_flag_append(CMAKE_Pascal_LINK_FLAGS "-k-rpath -k${CMAKE_INSTALL_RPATH}")
       
   105     endif()
       
   106 endif(APPLE)
    92 endif(APPLE)
   107 
    93 
   108 if(MINGW)
    94 if(MINGW)
   109     #this flags prevents a few dll hell problems
    95     #this flags prevents a few dll hell problems
   110     add_flag_append(CMAKE_C_FLAGS "-static-libgcc")
    96     add_flag_append(CMAKE_C_FLAGS "-static-libgcc")