|
Boost-Build : |
Subject: [Boost-build] Copying source file required by target
From: Mateusz Loskot (mateusz_at_[hidden])
Date: 2018-07-26 17:08:30
Hi,
I'm trying to replicate this CMake'ism for BBv2
f(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/mwe.cpp)
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/mwe.cpp.in
${CMAKE_CURRENT_SOURCE_DIR}/mwe.cpp
COPYONLY)
endif()
I'm trying to achieve that with the make rule and simple actions:
make mwe.cpp : mwe.cpp.in : @copy_mwe_if_not_exists ;
actions copy_mwe_if_not_exists { cp $(>) $(<) }
exe mwe : mwe.cpp : ;
Basically, this works, but there is one major issue"
- it creates source file in bin/mwe.cpp.
How can I force it to create mwe.cpp in the same directory as mwe.cpp.in?
I've tried to hack it modifying target path using the variables
expansion, but without luck.
I have also tried to follow the BBv2 generate example based on
file-target and common.copy action:
https://github.com/boostorg/build/tree/develop/example/generate
But constructing a target seems like an overkill for my purpose.
And, the rule (or common.copy) also creates file in `bin` directory.
BTW, I am aware the `copy_mwe_if_not_exists` is incomplete regarding its name:
- it will have to use cp or copy depending on OS
- it will have to check if file exists
Best regards,
-- Mateusz Loskot, http://mateusz.loskot.net
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