Re: [cmake-developers] [patch] Export template instantiations with GenerateExportHeader

2015-07-31 Thread Brad King
On 07/30/2015 05:17 PM, Roger Leigh wrote: Are the duplicated template exports here at the level of the translation unit not elided when linking the DLL? In the dlltest git repo, I specifically create DLLs with duplicate template exports in different translation units to make sure it

Re: [cmake-developers] [patch] Export template instantiations with GenerateExportHeader

2015-07-30 Thread Roger Leigh
On 30/07/2015 18:34, Brad King wrote: On 07/30/2015 11:23 AM, Roger Leigh wrote: foo_EXPORT_TEMPLATE template class foo_EXPORT std::allocatorchar; [snip] #ifdef @EXPORT_IMPORT_CONDITION@ /* We are building this library */ # define @EXPORT_MACRO_NAME@ @DEFINE_EXPORT@ +#

[cmake-developers] [patch] Export template instantiations with GenerateExportHeader

2015-07-30 Thread Roger Leigh
See attached patch. This is following the recommendations here: https://support.microsoft.com/en-us/kb/168958 While the existing foo_EXPORT provided by GenerateExportHeader is fine for use in exporting functions and classes, it isn't apparently sufficient for template export. This is

Re: [cmake-developers] [patch] Export template instantiations with GenerateExportHeader

2015-07-30 Thread Brad King
On 07/30/2015 11:23 AM, Roger Leigh wrote: foo_EXPORT_TEMPLATE template class foo_EXPORT std::allocatorchar; [snip] #ifdef @EXPORT_IMPORT_CONDITION@ /* We are building this library */ # define @EXPORT_MACRO_NAME@ @DEFINE_EXPORT@ +# define @EXPORT_MACRO_NAME@_TEMPLATE