boostorg / boostorg/build

notfile source of exe target gets pdb input

Open
#506 2 comments 0 reactions 0 assignees View on GitHub
transition
Dominant language
C++
Stars
251
Forks
63
PR merge metrics
No merged PRs in 30d

Description

A while ago a used `notfile` to simplify toolset information gathering in boost/config (https://github.com/boostorg/config/pull/274). A simplified version of it:

```bjam
exe config_info_printer : config_info.cpp ;
explicit config_info_printer ;

actions print-run
{
$(>)
}

notfile print_config_info : @print-run : config_info_printer ;
explicit print_config_info ;
```

Everything was fine, but suddenly with a particular cxxstd list and only on Appveyor it tried to execute `config_info_printer.pdb`. When I were writing the thing I run it with `variant=release` and `$(>)` contained only exe path, so I never notices before that `$(>)` could contain two elements (it is with `variant=debug`), however, by the pure luck(?) they were always in `config_info_printer.exe config_info_printer.pdb` order, but in that particular case items swapped.

1. Is it expected that `$(>)` contains not only exe, but also pdb path?
2. Is the order undefined?
3. Is there a way to force the order or to receive only exe path?
4. Or, probably, you can suggest other way to run exe target with printing to console its output with b2?

The `notfile` documentation is scarse, I did not find answers for the questions above in it.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.