<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hello,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I have a project which uses the CMake 3.10.1 and CUDA nvcc compiler and I am using the new project(projectName LANGUAGES CUDA) instead of find_package(CUDA) to do so. I want CMake to use a different (explicitly defined) path for nvcc compiler
 than the installed version. Before calling project(projectName LANGUAGES CUDA), I declare CUDA_TOOLKIT_ROOT_DIR via an include of a file which defines our third party library variables, but it always finds the installed version. I know that CUDA_TOOLKIT_ROOT_DIR
  was meant for the find_package(CUDA) script, but the documentation doesn't seem to specify how to use the new project method of including nvcc.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Is there a way to specify a different nvcc location using the new format?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Excerpt from CMakeLists.txt:  <o:p></o:p></p>
<p class="MsoNormal">…<o:p></o:p></p>
<p class="MsoNormal">include(${CMAKE_CURRENT_SOURCE_DIR}/../../../build/thirdparty_versions.cmake) #defines CUDA_TOOLKIT_ROOT_DIR to specified CUDA root with bin/nvcc below it.
<o:p></o:p></p>
<p class="MsoNormal">message(---------------CUDA_TOOLKIT_ROOT_DIR:${ CUDA_TOOLKIT_ROOT_DIR})<br>
project(projectName LANGUAGES CUDA)<o:p></o:p></p>
<p class="MsoNormal">…<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Below is a portion of my output:  <o:p></o:p></p>
<p class="MsoNormal">…<o:p></o:p></p>
<p class="MsoNormal">---------------CUDA_TOOLKIT_ROOT_DIR:C:/thirdparty/CUDA/v8.0
<o:p></o:p></p>
<p class="MsoNormal">-- Selecting Windows SDK version 10.0.14393.0 to target Windows 10.0.17134.
<o:p></o:p></p>
<p class="MsoNormal">-- The CUDA compiler identification is NVIDIA 8.0.44 <o:p></o:p></p>
<p class="MsoNormal">-- Check for working CUDA compiler: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/bin/nvcc.exe<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">You can see that the CUDA compiler found was the intalled version, not C:/thirdparty/CUDA/v8.0<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal">Jeff Perez<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
-- WARNING - CONFIDENTIAL INFORMATION: The information contained in the e-mail may contain confidential and privileged information and is intended solely for the use of the intended recipient(s). Access for any review, re-transmission, dissemination or other
 use of, or taking of any action in regard and reliance upon this e-mail by persons or entities other than the intended recipient(s) is unauthorized and prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy
 all copies of the original message and any attachments.
</body>
</html>