简体   繁体   中英

CMAKE+QT MAC how to set deployment target?

I use cmake + qt in the development of mac os x 10.12 platform, but when I use the set (CMAKE_OSX_DEPLOYMENT_TARGET "10.11") compiler generated app, the app copy to mac os x 10.11 on the computer application, prompted app need os X 10.12, but if not copy the app to the application, copy to other directories will not prompt the need for os x 10.12, very strange question, my app also depends on a lot of other dylib, please help me analyze this problem. The following is the cmake code:

CMAKE_MINIMUM_REQUIRED(VERSION 2.8.11)
#set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" CACHE STRING "Minimum OS X deployment version")
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.11")
PROJECT(toon)
set(PACKAGE "toon")
set(TOON_VERSION "1.1.0")

set(XCODE_BUILD "")

IF(APPLE)
#set(CMAKE_CXX_FLAGS "--sysroot ${CMAKE_OSX_SYSROOT} ${CMAKE_CXX_FLAGS}")
MESSAGE(STATUS "CMAKE_CXX_FLAGS:" ${CMAKE_CXX_FLAGS})
MESSAGE(STATUS "DEPLOYMENT_TARGET:" ${CMAKE_OSX_DEPLOYMENT_TARGET})
MESSAGE(STATUS "CMAKE_OSX_SYSROOT:" ${CMAKE_OSX_SYSROOT})
ENDIF()
#set(CMAKE_BUILD_TYPE Debug)
#set (CMAKE_CXX_STANDARD 11)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}-std=c++11")

IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
    IF(CMAKE_BUILD_TYPE MATCHES "Release")
        SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")
    ELSEIF(CMAKE_BUILD_TYPE MATCHES "Debug")
        SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -Wall -g")
        MESSAGE(STATUS "build_type:" ${CMAKE_BUILD_TYPE})
        MESSAGE(STATUS "cxx_flags:" ${CMAKE_CXX_FLAGS_DEBUG})
    ENDIF()
ELSEIF(CMAKE_SYSTEM_NAME MATCHES "Windows")
    set(MY_PRODUCT_NUMBER 1)
    set(MY_PRODUCT_VERSION 1)
    set(MY_BUILD_NUMBER 2)
ENDIF()

IF(APPLE)
    set(CMAKE_MACOSX_RPATH ON)
    #set(INSTALL_LIB_DIR "${PROJECT_SOURCE_DIR}/toonsdk/build/x64/Debug") # 假设安装目录在编译目录的lib子目录内
    #set(CMAKE_SKIP_BUILD_RPATH FALSE)
    #set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
    #set(CMAKE_INSTALL_RPATH "${PROJECT_SOURCE_DIR}/toonsdk/build/x64/Debug")
    #set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)

    IF(CMAKE_BUILD_TYPE MATCHES "Release")
        SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")
    ELSEIF(CMAKE_BUILD_TYPE MATCHES "Debug")
        SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -Wall -g")
    ENDIF()
ENDIF()


set_property(GLOBAL PROPERTY USE_FOLDERS ON)
ADD_SUBDIRECTORY(Common)
ADD_SUBDIRECTORY(LocalStorage)
ADD_SUBDIRECTORY(NetWorkAPI)
ADD_SUBDIRECTORY(IMCore)
ADD_SUBDIRECTORY(ToonProtocol)
ADD_SUBDIRECTORY(TNMVD)
ADD_SUBDIRECTORY(Notice)
ADD_SUBDIRECTORY(SetUp)
ADD_SUBDIRECTORY(CardCase)
#ADD_SUBDIRECTORY(Upgrade)
ADD_SUBDIRECTORY(Mine)
ADD_SUBDIRECTORY(Toon)

设置为(CMAKE_OSX_DEPLOYMENT_TARGET“ 10.9”);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM