From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp37.i.mail.ru (smtp37.i.mail.ru [94.100.177.97]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 09917469711 for ; Fri, 22 May 2020 15:49:54 +0300 (MSK) From: "Alexander V. Tikhonov" Date: Fri, 22 May 2020 15:49:47 +0300 Message-Id: Subject: [Tarantool-patches] [PATCH v1 0/4] implement OOS build List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Oleg Piskunov , Sergey Bronnikov , Alexander Turenko Cc: tarantool-patches@dev.tarantool.org 1) gitlab-ci: add out-of-source build Implemented out-of-source build at cmake files. Added out of source build make targets and added test job to gitlab-ci. Skipped failing test app-tap/http_client.test.lua from out-of-source build. Left #4258 issue opened till it will be fixed. Temporary added branch in curl repository with fix for out-of-source build. 2) build: port autoconf to cmake in curl build Changed autoconf tools in Curl build to cmake use for builds where cmake major starts from 3. It was made so because cmake in curl build works only with 3.0 version and above, the following issue found on: CentOS 6,7 Ubuntu 14.04 Issue with curl cmake based build with cmake before 3.0 version: CMake Error at CMakeLists.txt:41 (cmake_minimum_required): CMake 3.0 or higher is required. You are running version 2.8.12.2 For curl cmake buld all autoconf options were ported to cmake configuration call. Also found that CURL cmake configuration file: third_party/curl/lib/CMakeLists.txt has installation part for built libcurl.a library: install(TARGETS ${LIB_NAME} EXPORT ${TARGETS_EXPORT_NAME} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} where it changes CMAKE_INSTALL_LIBDIR to appropriate name with suffix of the architecture, like: lib lib64 x86_64 Found that find_library routine from the file: cmake/FindLibCURL.cmake returns only 'lib' value and it breaks the building of the depends binaries. To avoid of it the CMAKE_INSTALL_LIBDIR option was set to cmake call: -DCMAKE_INSTALL_LIBDIR=lib Closes #4874 Closes #4968 --- Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-4874-out-of-source-build-full-ci Issue: https://github.com/tarantool/tarantool/issues/4968 Issue: https://github.com/tarantool/tarantool/issues/4874 Alexander V. Tikhonov (4): build: port autoconf to cmake in curl build Fix curl repository for out-of-source build Skip failing test from out-of-source build gitlab-ci: add out-of-source build .gitlab-ci.yml | 7 + .travis.mk | 26 ++++ cmake/BuildLibCURL.cmake | 240 +++++++++++++++++------------- cmake/utils.cmake | 4 +- src/box/CMakeLists.txt | 1 + test/app-tap/http_client.skipcond | 5 + third_party/curl | 2 +- 7 files changed, 180 insertions(+), 105 deletions(-) -- 2.17.1