From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id 23E1B27242 for ; Tue, 12 Mar 2019 10:40:50 -0400 (EDT) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id S7C3vlQ7XRqu for ; Tue, 12 Mar 2019 10:40:50 -0400 (EDT) Received: from smtpng3.m.smailru.net (smtpng3.m.smailru.net [94.100.177.149]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id CBFB826F74 for ; Tue, 12 Mar 2019 10:40:49 -0400 (EDT) From: "Alexander V. Tikhonov" Subject: [tarantool-patches] [PATCH v2] travis-ci: fixed Mojave mac build Date: Tue, 12 Mar 2019 17:40:43 +0300 Message-Id: Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-Help: List-Unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-Subscribe: List-Owner: List-post: List-Archive: To: Alexander Turenko Cc: "Alexander V. Tikhonov" , tarantool-patches@freelists.org Fixed Mojave Mac build with MACOSX_DEPLOYMENT_TARGET environment setup. Specified the minimum version of OS X on which the target binaries are to be deployed. CMake uses this value for the make environment and the -mmacosx-version-min flag to help choose the default SDK Removed virtualenv for osx at all Fixed #3797 --- Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-3797-mojave-mac-build Issue: https://github.com/tarantool/tarantool/issues/3797 .travis.mk | 10 +++------- .travis.yml | 11 ++++++++--- cmake/luajit.cmake | 15 ++++++++++++--- 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/.travis.mk b/.travis.mk index edd94cd7d..6e429735d 100644 --- a/.travis.mk +++ b/.travis.mk @@ -47,6 +47,8 @@ test_ubuntu: deps_ubuntu deps_osx: brew update brew install openssl readline curl icu4c --force + curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | python + pip install -r test-run/requirements.txt test_osx: deps_osx cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfoWError ${CMAKE_EXTRA_PARAMS} @@ -57,13 +59,7 @@ test_osx: deps_osx ulimit -S -n 20480 || : ulimit -n make -j8 - virtualenv ./test-env && \ - . ./test-env/bin/activate && \ - curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | python && \ - pip --version && \ - pip install -r test-run/requirements.txt && \ - cd test && python test-run.py -j 1 unit/ app/ app-tap/ box/ box-tap/ && \ - deactivate + cd test && python test-run.py -j 1 unit/ app/ app-tap/ box/ box-tap/ coverage_ubuntu: deps_ubuntu cmake . -DCMAKE_BUILD_TYPE=Debug -DENABLE_GCOV=ON diff --git a/.travis.yml b/.travis.yml index ffe2e8247..8a118a7f2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,7 @@ language: cpp os: linux compiler: gcc -osx_image: xcode9 +osx_image: xcode10.2 cache: directories: @@ -24,11 +24,16 @@ jobs: - name: RelWithDebInfoWError build + test (Linux, clang) env: TARGET=test compiler: clang - - name: RelWithDebInfoWError build + test (OS X) + - name: RelWithDebInfoWError build + test (OS X Mojave 10.14) env: TARGET=test os: osx - name: Debug build + test + coverage (Linux, gcc) env: TARGET=coverage + - name: RelWithDebInfoWError build + test (OS X High Sierra 10.13) + env: TARGET=test + os: osx + osx_image: xcode9.4 + if: branch = "2.1" - name: LTO build + test (Linux, gcc) env: TARGET=test CMAKE_EXTRA_PARAMS=-DENABLE_LTO=ON if: branch = "2.1" @@ -36,7 +41,7 @@ jobs: env: TARGET=test CMAKE_EXTRA_PARAMS=-DENABLE_LTO=ON if: branch = "2.1" compiler: clang - - name: LTO build + test (OS X) + - name: LTO build + test (OS X Mojave 10.14) os: osx env: TARGET=test CMAKE_EXTRA_PARAMS=-DENABLE_LTO=ON if: branch = "2.1" diff --git a/cmake/luajit.cmake b/cmake/luajit.cmake index ea4878a93..e84fb21aa 100644 --- a/cmake/luajit.cmake +++ b/cmake/luajit.cmake @@ -196,10 +196,19 @@ macro(luajit_build) if ("${CMAKE_OSX_DEPLOYMENT_TARGET}" STREQUAL "") # Default to 10.6 since @rpath support is NOT available in # earlier versions, needed by AddressSanitizer. - set (luajit_osx_deployment_target 10.6) + execute_process(COMMAND sw_vers -productVersion + OUTPUT_VARIABLE PRODUCT_VERSION) + message(STATUS "PRODUCT_VERSION=${PRODUCT_VERSION}") + if (${PRODUCT_VERSION} VERSION_LESS 10.14) + set (luajit_osx_deployment_target 10.6) + else () + set (luajit_osx_deployment_target 10.14) + endif () else() set (luajit_osx_deployment_target ${CMAKE_OSX_DEPLOYMENT_TARGET}) endif() + set(macosx_deployment_target_env MACOSX_DEPLOYMENT_TARGET=${luajit_osx_deployment_target}) + message(STATUS "${macosx_deployment_target_env}") set(luajit_ldflags ${luajit_ldflags} -Wl,-macosx_version_min,${luajit_osx_deployment_target}) endif () @@ -238,7 +247,7 @@ macro(luajit_build) add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/third_party/luajit/src/libluajit.a WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/third_party/luajit COMMAND $(MAKE) ${luajit_buildoptions} clean - COMMAND $(MAKE) -C src ${luajit_buildoptions} jit/vmdef.lua libluajit.a + COMMAND ${macosx_deployment_target_env} $(MAKE) -C src ${luajit_buildoptions} jit/vmdef.lua libluajit.a DEPENDS ${CMAKE_SOURCE_DIR}/CMakeCache.txt ) else() @@ -249,7 +258,7 @@ macro(luajit_build) WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/third_party/luajit COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR}/third_party/luajit ${PROJECT_BINARY_DIR}/third_party/luajit COMMAND $(MAKE) ${luajit_buildoptions} clean - COMMAND $(MAKE) -C src ${luajit_buildoptions} jit/vmdef.lua libluajit.a + COMMAND ${macosx_deployment_target_env} $(MAKE) -C src ${luajit_buildoptions} jit/vmdef.lua libluajit.a DEPENDS ${PROJECT_BINARY_DIR}/CMakeCache.txt ${PROJECT_BINARY_DIR}/third_party/luajit ) endif() -- 2.17.1