Tarantool development patches archive
 help / color / mirror / Atom feed
From: Alexander Turenko <alexander.turenko@tarantool.org>
To: "Alexander V. Tikhonov" <avtikhon@tarantool.org>
Cc: Oleg Piskunov <o.piskunov@tarantool.org>,
	tarantool-patches@dev.tarantool.org
Subject: Re: [Tarantool-patches] [PATCH v2 2/3] gitlab-ci: add out-of-source build
Date: Sat, 25 Apr 2020 10:17:30 +0300	[thread overview]
Message-ID: <20200425071730.hva3scyfskaraukr@tkn_work_nb> (raw)
In-Reply-To: <a4e3e096397448219d25a44772aee8bba9b20ce2.1587577457.git.avtikhon@tarantool.org>

> index 5f8b15a63..753b7293a 100644
> --- a/cmake/BuildLibCURL.cmake
> +++ b/cmake/BuildLibCURL.cmake
> @@ -56,10 +56,10 @@ macro(curl_build)
>          DOWNLOAD_DIR ${LIBCURL_BINARY_DIR}
>          TMP_DIR ${LIBCURL_BINARY_DIR}/tmp
>          STAMP_DIR ${LIBCURL_BINARY_DIR}/stamp
> -        BINARY_DIR ${LIBCURL_BINARY_DIR}
> +        BINARY_DIR ${LIBCURL_BINARY_DIR}/curl

Don't get what is the problem you try to solve here.

>          CONFIGURE_COMMAND
> -            cd <SOURCE_DIR> && ./buildconf &&
> -            cd <BINARY_DIR> && <SOURCE_DIR>/configure
> +            rm -rf <BINARY_DIR> && cp -rf <SOURCE_DIR> <BINARY_DIR> &&
> +            cd <BINARY_DIR> && ./buildconf && ./configure

Will not it lead to full curl rebuild on each `make` run when something
changed within the repo?

>                  # Pass the same toolchain as is used to build
>                  # tarantool itself, because they can be
>                  # incompatible.
> diff --git a/cmake/utils.cmake b/cmake/utils.cmake
> index 3ab2d3ff2..6044ea7c0 100644
> --- a/cmake/utils.cmake
> +++ b/cmake/utils.cmake
> @@ -70,9 +70,9 @@ endfunction()
>  
>  function(bin_source varname srcfile dstfile)
>      set(var ${${varname}})
> -    set(${varname} ${var} ${dstfile} PARENT_SCOPE)
> +    set(${varname} ${var} "${CMAKE_BINARY_DIR}/${dstfile}" PARENT_SCOPE)

It is better to sink this line down below set(dstfile, ...).

>      set (srcfile "${CMAKE_CURRENT_SOURCE_DIR}/${srcfile}")
> -    set (dstfile "${CMAKE_CURRENT_SOURCE_DIR}/${dstfile}")
> +    set (dstfile "${CMAKE_BINARY_DIR}/${dstfile}")

Why not CMAKE_CURRENT_BINARY_DIR? Now path to a source file is
calculated relative to a currently processed directory, but path to a
destination file is relative to a project binary directory that looks
lopsided.

> diff --git a/src/box/CMakeLists.txt b/src/box/CMakeLists.txt
> index c931ecdfe..51b0006b1 100644
> --- a/src/box/CMakeLists.txt
> +++ b/src/box/CMakeLists.txt
> @@ -23,7 +23,7 @@ lua_source(lua_sources lua/xlog.lua)
>  lua_source(lua_sources lua/key_def.lua)
>  lua_source(lua_sources lua/merger.lua)
>  set(bin_sources)
> -bin_source(bin_sources bootstrap.snap bootstrap.h)
> +bin_source(bin_sources bootstrap.snap src/box/bootstrap.h)

Note: I guess it will not be needed if we'll use
CMAKE_CURRENT_BINARY_DIR in bin_source() function.

>  
>  add_custom_target(box_generate_lua_sources
>      WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src/box
> @@ -32,6 +32,7 @@ set_property(DIRECTORY PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${lua_sources})
>  
>  include_directories(${ZSTD_INCLUDE_DIRS})
>  include_directories(${CMAKE_BINARY_DIR}/src/box/sql)
> +include_directories(${CMAKE_BINARY_DIR}/src/box)

Generating of bootstrap.h into a binary directory is the nice change!

  reply	other threads:[~2020-04-25  7:17 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-22 17:44 [Tarantool-patches] [PATCH v2 0/3] " Alexander V. Tikhonov
     [not found] ` <cover.1587577457.git.avtikhon@tarantool.org>
2020-04-22 17:44   ` [Tarantool-patches] [PATCH v2 1/3] Fix curl repository for " Alexander V. Tikhonov
2020-04-22 17:44   ` [Tarantool-patches] [PATCH v2 2/3] gitlab-ci: add " Alexander V. Tikhonov
2020-04-25  7:17     ` Alexander Turenko [this message]
2020-05-13  7:40       ` Alexander V. Tikhonov
2020-06-08 13:32         ` Alexander Turenko
2020-04-22 17:44   ` [Tarantool-patches] [PATCH v2 3/3] Skip failing test from " Alexander V. Tikhonov
2020-04-25  7:24     ` 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=20200425071730.hva3scyfskaraukr@tkn_work_nb \
    --to=alexander.turenko@tarantool.org \
    --cc=avtikhon@tarantool.org \
    --cc=o.piskunov@tarantool.org \
    --cc=tarantool-patches@dev.tarantool.org \
    --subject='Re: [Tarantool-patches] [PATCH v2 2/3] gitlab-ci: add out-of-source 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