From: "Alexander V. Tikhonov" <avtikhon@tarantool.org> To: Alexander Turenko <alexander.turenko@tarantool.org> Cc: "Alexander V. Tikhonov" <avtikhon@tarantool.org>, tarantool-patches@freelists.org Subject: [tarantool-patches] [PATCH v2] travis-ci: fixed Mojave mac build Date: Tue, 12 Mar 2019 17:40:43 +0300 [thread overview] Message-ID: <a4d0948f8d2d3f7c0f1b6f72705fe75dc5199702.1552401527.git.avtikhon@tarantool.org> (raw) 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
next reply other threads:[~2019-03-12 14:40 UTC|newest] Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-03-12 14:40 Alexander V. Tikhonov [this message] 2019-03-13 23:44 ` [tarantool-patches] " Alexander Turenko
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=a4d0948f8d2d3f7c0f1b6f72705fe75dc5199702.1552401527.git.avtikhon@tarantool.org \ --to=avtikhon@tarantool.org \ --cc=alexander.turenko@tarantool.org \ --cc=tarantool-patches@freelists.org \ --subject='Re: [tarantool-patches] [PATCH v2] travis-ci: fixed Mojave mac build' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox