Hi Robert,

Thanks for taking the time to look into this. Strange that it isn't reproducing 
for you! I've made a minimal test case that reproduces the bug, and put it on 
github: 

https://github.com/jameshancox/cmake_example_16993 

I am using:

Visual Studio Professional 2013 Update 5
CUDA 8.0.44
cmake 3.9.0.rc3

The bug is reproducible for both Win32 and x64 generators. 

If you still can't reproduce it, let me know and I'll try to figure out what's 
going on.

Cheers,
James

-----Original Message-----
From: Robert Maynard [mailto:robert.mayn...@kitware.com] 
Sent: 19 June 2017 18:47
To: Hancox, James <jhan...@tmvse.com>
Cc: cmake@cmake.org
Subject: Re: [CMake] Missing <target>_EXPORTS definition in CUDA host 
compilation

Hi James,

In testing we have not been able to replicate the reported behavior.
We are seeing that the .cu files inside a shared library have the correct 
export defines setup.

On Mon, Jun 19, 2017 at 8:23 AM, Robert Maynard <robert.mayn...@kitware.com> 
wrote:
> Hi James,
>
> I have created a bug report for this issue, which you can track at:
> https://gitlab.kitware.com/cmake/cmake/issues/16993
>
> On Fri, Jun 16, 2017 at 12:14 PM, Hancox, James <jhan...@tmvse.com> wrote:
>> Hi,
>>
>>
>>
>> I’m trying out the new CUDA support for Visual Studio generators in 
>> Cmake
>> 3.9.0-rc3 (generator Visual Studio 12 2013 Win64), and I think I’ve 
>> found a bug.
>>
>>
>>
>> Our code defines some DLL-export functions in host code in a .cu 
>> file, but it seems that the usual <target>_EXPORTS pre-processor 
>> definition is missing for host code compilation invoked from NVCC. We 
>> have the usual DLL boilerplate defined in a header like so:
>>
>>
>>
>> #ifdef example_target_EXPORTS
>>
>> #define EXAMPLE_TARGET_API _declspec(dllexport)
>>
>> #else
>>
>> #define EXAMPLE_TARGET_API _declspec(dllimport)
>>
>> #endif
>>
>>
>>
>> However in my .cu file, EXAMPLE_TARGET_API is being expanded to 
>> _declspec(dllimport), not _declspec(dllexport) . It would appear that 
>> example_target_EXPORTS is not being declared.
>>
>>
>>
>> Is this intended behaviour, or a bug? If intended behaviour, what is 
>> the mechanism I should be using instead?
>>
>>
>>
>> Many thanks,
>>
>> James Hancox
>>
>>
>> _____________________________________________________________________
>> _ This email has been scanned by the Symantec Email Security.cloud 
>> service.
>> For more information please visit http://www.symanteccloud.com 
>> _____________________________________________________________________
>> _
>>
>> --
>>
>> Powered by www.kitware.com
>>
>> Please keep messages on-topic and check the CMake FAQ at:
>> http://www.cmake.org/Wiki/CMake_FAQ
>>
>> Kitware offers various services to support the CMake community. For 
>> more information on each offering, please visit:
>>
>> CMake Support: http://cmake.org/cmake/help/support.html
>> CMake Consulting: http://cmake.org/cmake/help/consulting.html
>> CMake Training Courses: http://cmake.org/cmake/help/training.html
>>
>> Visit other Kitware open-source projects at 
>> http://www.kitware.com/opensource/opensource.html
>>
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/cmake

______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com 
______________________________________________________________________

______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Reply via email to