[LTH-7] Leatherman breaks FindBoost's optimized/debug labeling of libraries Created: 2015/04/21 Updated: 2015/09/09 Resolved: 2015/06/19 Status: Project: Component/s: Affects Version/s: Fix Version/s: Closed Leatherman None None Type: Reporter: Resolution: Labels: Remaining Estimate: Time Spent: Original Estimate: Bug Michael Smith Fixed None Not Specified Issue Links: Blocks blocks FACT-961 Template: Scrum Team: Story Points: Sprint: Scope Change Category: Scope Change Reason: LTH 0.2.0 Priority: Assignee: Votes: Normal Unassigned 0 Not Specified Not Specified Windows binary sizes are huge Closed customfield_10700 true Client Platform 2 Client 2015-06-24 Adopted Slack time Description CMake's FindBoost - when it finds both optimized and debug libraries - will place them all in the Boost_LIBRARIES variable, prefixed with optimized and debug to tell target_link_libraries how to select between versions. Leatherman reverses that list, messing up the labelling for Boost libraries so that we accidentally link the wrong versions. This has a significant impact on binary size when linking the libraries (and probably on performance). My best suggestion for fixing this is to track 1st-party and 3rd-party libraries in Leatherman, then create the full LEATHERMAN_LIBRARIES list by putting 1st-party libraries then 3rdparty libraries. This should avoid the need for reversing the list. Comments Comment by Michael Smith [ 2015/06/19 ] Didn't update the Boost library order in logging to account for the reverse, so builds fail with static boost on Linux. Generated at Tue Feb 09 18:54:23 PST 2016 using JIRA 6.4.12#64027sha1:e3691cc1283c0f3cef6d65d3ea82d47743692b57.