bjam doesn't like filenames with '++' in them???

I'm using bjam for a project that needs to copy some third party dlls (ImageMagick) to an installation directory. One of those dlls has '++' in the filename, which, under Windows at least, is legal, but bjam can't seem to deal with it. This line: InstallInto $(BIN_INSTALL_DIR) : CORE_RL_Magick++_.dll ; results in this output: Install AppInstall\CORE_RL_Magick++_.dll The system cannot find the file specified. copy ImageMagick\CORE_RL_Magick++_.dll AppInstall\CORE_RL_Magick++_.dll ...failed Install AppInstall\CORE_RL_Magick++_.dll... ...failed updating 1 target... I've verified that the source file does exist and all of the other DLLs in the same directory are copied without a problem. I've tried several things to work around the problem: escaping the '+' characters, putting the whole filename in quotes, definining variables that I can use to construct a filename with. However, it seems to come down to InstallInto not being able to deal with '++' in filenames. And since this is a third party DLL, I can't simply rename the file. I've searched the Boost newsgroups and FAQs for an answer, but no one seems to have encountered this problem, so that leads me to believe that I'm doing something wrong. Has anyone had this problem before? Does anyone have any ideas on how to fix it? Any help with this would be greatly appreciated! Paul Kerchen

Paul Kerchen wrote:
I'm using bjam for a project that needs to copy some third party dlls (ImageMagick) to an installation directory. One of those dlls has '++' in the filename, which, under Windows at least, is legal, but bjam can't seem to deal with it. This line: InstallInto $(BIN_INSTALL_DIR) : CORE_RL_Magick++_.dll ;
This is not syntax used by Boost.Build V2. And we don't support any rules that are inherited from classic Jam. The right way to install things is the 'install' rule: http://boost.org/boost-build2/doc/html/bbv2/tasks/installing.html
results in this output:
Install AppInstall\CORE_RL_Magick++_.dll The system cannot find the file specified.
copy ImageMagick\CORE_RL_Magick++_.dll AppInstall\CORE_RL_Magick++_.dll
Is this command right, or wrong? If it's right, then it's not a problem with InstallInto. If it's wrong, can you indicate how? Does the same command works on command line? Those are possible suggestions, but as I say, "InstallInto" is unsupported in general. - Volodya

"Vladimir Prus"
Is this command right, or wrong?
If it's right, then it's not a problem with InstallInto.
If it's wrong, can you indicate how?
Does the same command works on command line?
Those are possible suggestions, but as I say, "InstallInto" is
unsupported in general.
- Volodya
Ah, yes, the problem has nothing to do with bjam--it's the DOS copy command! It's trying to concatentate two files--'CORE_RL_ImageMagick' and '+_.dll'--and copy them to the destination. Thanks for the suggestion!
participants (2)
-
Paul Kerchen
-
Vladimir Prus