<div dir="ltr">You can make the executable depend on the compiled shaders. And custom command is used to compile them. Even though it is not necessary for compilation, it is necessary for execution. And if shaders don't compile, the executable will not run either so it is OK to raise an error during build time. This makes life easier.</div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">Dženan Zukić, PhD, Senior R&D Engineer,<span style="font-size:12.8000001907349px"> </span>Kitware (Carrboro, N.C.)</div></div></div></div></div></div></div></div></div></div></div></div></div>
<br><div class="gmail_quote">On Thu, Aug 10, 2017 at 10:41 AM, Milef, Nicholas Boris <span dir="ltr"><<a href="mailto:milefn@rpi.edu" target="_blank">milefn@rpi.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div>
<div style="direction:ltr;font-family:Tahoma;color:#000000;font-size:10pt">
<div>What I understand is that I need to make a custom target to attach this command to (is this correct?):</div>
<a href="https://stackoverflow.com/a/30734105" target="_blank">https://stackoverflow.com/a/<wbr>30734105</a><br>
<div>
<div style="font-family:Tahoma;font-size:13px"><br>
</div>
<div><span style="font-size:13px">The file I'm working in only has an executable, but the shaders don't need to be compiled before building the executable:</span></div>
<div><span style="font-size:13px"><a href="https://gitlab.kitware.com/iMSTK/iMSTK/blob/master/Examples/Sandbox/CMakeLists.txt" target="_blank">https://gitlab.kitware.com/<wbr>iMSTK/iMSTK/blob/master/<wbr>Examples/Sandbox/CMakeLists.<wbr>txt</a></span></div>
</div>
<div style="font-family:Times New Roman;color:#000000;font-size:16px">
<hr>
<div id="m_-7438416413639331754divRpF306610" style="direction:ltr"><font face="Tahoma" size="2" color="#000000"><b>From:</b> Dzenan Zukic [<a href="mailto:dzenan.zukic@kitware.com" target="_blank">dzenan.zukic@kitware.com</a>]<br>
<b>Sent:</b> Wednesday, August 09, 2017 10:13 PM<div><div class="h5"><br>
<b>To:</b> Milef, Nicholas Boris<br>
<b>Cc:</b> <a href="mailto:imstk-developers@imstk.org" target="_blank">imstk-developers@imstk.org</a><br>
<b>Subject:</b> Re: [Imstk-developers] How to compile shader code in CMake?<br>
</div></div></font><br>
</div><div><div class="h5">
<div></div>
<div>
<div dir="ltr">Yes, CMake documentation is one of the worst. You should look for "cmake add_custom_command example", one of the first hits is
<a href="https://stackoverflow.com/questions/13470499/cmake-add-custom-command-with-dependencies-from-a-different-directory" target="_blank">
this</a>.</div>
<div class="gmail_extra"><br clear="all">
<div>
<div class="m_-7438416413639331754gmail_signature">
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">Dženan Zukić, PhD, Senior R&D Engineer,<span style="font-size:12.8000001907349px"> </span>Kitware (Carrboro, N.C.)</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
<div class="gmail_quote">On Wed, Aug 9, 2017 at 5:42 PM, Milef, Nicholas Boris <span dir="ltr">
<<a href="mailto:milefn@rpi.edu" target="_blank">milefn@rpi.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div style="direction:ltr;font-family:Tahoma;color:#000000;font-size:10pt">Actually, how would I use this command? Would I attach this to the target, or should I run the .exe separately?
<div><br>
</div>
<div>I'm kind of confused by the documentation.<br>
<div style="font-family:Times New Roman;color:#000000;font-size:16px">
<hr>
<div id="m_-7438416413639331754m_-5494767028040491296divRpF402531" style="direction:ltr"><font face="Tahoma" size="2" color="#000000"><b>From:</b> Imstk-developers [<a href="mailto:imstk-developers-bounces@imstk.org" target="_blank">imstk-developers-bounces@imst<wbr>k.org</a>] on
 behalf of Milef, Nicholas Boris [<a href="mailto:milefn@rpi.edu" target="_blank">milefn@rpi.edu</a>]<br>
<b>Sent:</b> Wednesday, August 09, 2017 4:17 PM<br>
<b>To:</b> Dzenan Zukic<span><br>
<b>Cc:</b> <a href="mailto:imstk-developers@imstk.org" target="_blank">imstk-developers@imstk.org</a><br>
<b>Subject:</b> Re: [Imstk-developers] How to compile shader code in CMake?<br>
</span></font><br>
</div>
<span>
<div></div>
<div>
<div style="direction:ltr;font-family:Tahoma;color:#000000;font-size:10pt">Great! Thanks Dzenan!
<div style="font-family:Times New Roman;color:#000000;font-size:16px">
<hr>
<div id="m_-7438416413639331754m_-5494767028040491296divRpF484050" style="direction:ltr"><font face="Tahoma" size="2" color="#000000"><b>From:</b> Dzenan Zukic [<a href="mailto:dzenan.zukic@kitware.com" target="_blank">dzenan.zukic@kitware.com</a>]<br>
<b>Sent:</b> Wednesday, August 09, 2017 4:13 PM<br>
<b>To:</b> Milef, Nicholas Boris<br>
<b>Cc:</b> <a href="mailto:imstk-developers@imstk.org" target="_blank">imstk-developers@imstk.org</a><br>
<b>Subject:</b> Re: [Imstk-developers] How to compile shader code in CMake?<br>
</font><br>
</div>
<div></div>
<div>
<div dir="ltr">You can add custom command:
<div><a href="https://cmake.org/cmake/help/v3.0/command/add_custom_command.html" target="_blank">https://cmake.org/cmake/help/v<wbr>3.0/command/add_custom_command<wbr>.html</a><br>
</div>
</div>
<div class="gmail_extra"><br clear="all">
<div>
<div class="m_-7438416413639331754m_-5494767028040491296gmail_signature">
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">Dženan Zukić, PhD, Senior R&D Engineer,<span style="font-size:12.8000001907349px"> </span>Kitware (Carrboro, N.C.)</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
<div class="gmail_quote">On Wed, Aug 9, 2017 at 4:09 PM, Milef, Nicholas Boris <span dir="ltr">
<<a href="mailto:milefn@rpi.edu" target="_blank">milefn@rpi.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div style="direction:ltr;font-family:Tahoma;color:#000000;font-size:10pt">I need to compile the Vulkan shaders (from GLSL to SPIR-V) and I don't really want to add the SPIR-V shaders in the repo because they're binary (although they aren't very large).
<div><br>
</div>
<div>From command prompt, I run this (included with VulkanSDK):</div>
<div>glslangvalidator -V mesh_frag.frag -o mesh_frag.spv</div>
<div><br>
</div>
<div>Any ideas on how to do this?</div>
</div>
</div>
<br>
______________________________<wbr>_________________<br>
Imstk-developers mailing list<br>
<a href="mailto:Imstk-developers@imstk.org" target="_blank">Imstk-developers@imstk.org</a><br>
<a href="http://public.kitware.com/mailman/listinfo/imstk-developers" rel="noreferrer" target="_blank">http://public.kitware.com/mail<wbr>man/listinfo/imstk-developers</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
</div>
</span></div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div></div></div>
</div>
</div>

</blockquote></div><br></div>