Boost logo

Boost Users :

Subject: Re: [Boost-users] How to write one property page .props to select the right x86 or x64 Boost libraries folder automatically using Visual Studio
From: Ernest Zaslavsky (ernest.zaslavsky_at_[hidden])
Date: 2016-05-22 00:16:24


Why don't you use property sheets?
Something like adding user macro (in property sheets manager), like ThirdPartiesLibs with value like $(SolutionDir)..\ThirdParty\Libs\$(PlatformName)\$(Configuration)\
And then just add the macro to Additional Libraries Directories under Linker/General, just insert the macro there - $(ThirdPartiesLib). Now, any project using this property sheet will inherit the additional libraries from the property sheet value and that it, you don't have anything to do, no XML file editing "geekery". We have done it for years, but recently switched to Boost Native Nuget Packages which is a nice option to consider

[cid:image002.png_at_01D1B3F9.D8B404C0]

From: Boost-users [mailto:boost-users-bounces_at_[hidden]] On Behalf Of Paul A. Bristow
Sent: Friday, May 20, 2016 12:06 PM
To: boost-users_at_[hidden]
Subject: Re: [Boost-users] How to write one property page .props to select the right x86 or x64 Boost libraries folder automatically using Visual Studio

From: Boost-users [mailto:boost-users-bounces_at_[hidden]] On Behalf Of Hickman, Steve (AdvTech)
Sent: 20 May 2016 03:51
To: boost-users_at_[hidden]<mailto:boost-users_at_[hidden]>
Subject: Re: [Boost-users] How to write one property page .props to select the right x86 or x64 Boost libraries folder automatically using Visual Studio

<snip>

> I have downloaded the shiny new release boost_1_61_0_b1 and am trying
> to set up so that I can test a lot of Boost-ish console applications
> using both 32 and 64-bit.
>
> This is easier with bjam, but I'd like to use the Visual studio IDE too.
>
> I'd like a single property page that can be placed in the same folder
> as my .sln file and added to each and every project.
>
> (or better, made the default for all projects).
>
> I have a I:\boost_1_61_0_b1; as the include directory, and that is
> common to all configurations and platforms.
>
> But the libraries files are in two separate folders because the name
> does not yet include the platform :-(
>
> Linking to lib file: libboost_chrono-vc140-mt-gd-1_61.lib
>
> lib32-msvc-14.0 and lib64-msvc-14.0
>
> Googling gives some suggestions to select the right folder for
> libraries, but I wonder if anyone has found a slick solution?

Thanks to all those who gave several valuable suggestions.

The key info is that for editing properties the IDE GUI isn't (wo)man enough for this task,
and that one needs to roll up sleeves and dig into the XML props files,
use the long list of macros ... and hours of fun can be had.

In the end I used

<LibraryPath>I:\boost_1_61_0_b1\lib$(PlatformArchitecture)-msvc-14.0;$(LibraryPath)</LibraryPath>

where $(PlatformArchitecture) produces 32 or 64

Many thanks.

Paul

PS I still think it would be much more convenient and consistent if the library name included the 32 or 64 as we previously discussed.
Then autolinking would still 'just work' without this geekery. But maybe nobody is interested in 32 bit any more?

--
View this message in context: http://boost.2283326.n4.nabble.com/How-to-write-one-property-page-props-to-select-the-right-x86-or-x64-Boost-libraries-folder-automatico-tp4686269p4686272.html
Sent from the Boost - Users mailing list archive at Nabble.com.




image002.png

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net