Boost logo

Boost-Build :

Subject: [Boost-build] common.copy target location
From: Ian Emmons (ian_at_[hidden])
Date: 2018-08-28 12:01:27


I am using Boost 1.67.0, and I just recently discovered a change in its
behavior compared to previous versions. I am running unit tests, and
these tests require a copy of a configuration file in the same directory
as the running executable. To make that work, I added an explicit
dependency to the unit-test target and an explicit target performs the
copy, like so:

        unit-test ParliamentTest
                : [ glob $(SourceDir)/*.cpp ]
                        list-of-libraries
                : <target-os>windows:<dependency>ParliamentConfig.txt
                : # default build
                : # usage requirements
                ;

        explicit ParliamentConfig.txt ;
        make ParliamentConfig.txt : $(SourceDir)/ParliamentConfig.txt :
@common.copy ;

In prior versions of Boost.Build, the copy would land in the same
directory as the test executable, e.g.,
"<output-dir>/msvc-14.1/release/address-model-64/threading-multi/ParliamentConfig.txt",
but in Boost 1.67.0 the copy lands in "<output-dir>".

Is this change expected? How can I get back to the old behavior?

Thanks,

Ian


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk