<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;
        font-family:"Calibri","sans-serif";}
@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">New features:<o:p></o:p></p>
<p class="MsoNormal">1) Option to use build.pl-like build by specifying –DUSE_BUILDPL_RULES=true|false , default is false.  When true, on Linux and Windows, builds will be compiled with debug info and optimization turned on (-g –O2) and then after the build
 is finished the debug info is stripped out into a separate file (libiomp5.dbg).<o:p></o:p></p>
<p class="MsoNormal">2) Use CMAKE_BUILD_TYPE=Release/Debug/RelWithDebInfo, default is Release (except on Visual Studio it is Debug.  I don’t know why).  CMake will automatically control debug and –O flags this way.  Got rid of build_type option.<o:p></o:p></p>
<p class="MsoNormal">3) Got rid of .dir build recipe and instead use file(make_directory …)<o:p></o:p></p>
<p class="MsoNormal">4) Very basic Visual Studio support.  Can be compiled with Unix Makefiles or NMake Makefiles on Windows.<o:p></o:p></p>
<p class="MsoNormal">5) Got rid of all compiler flags,  so no more if(${CLANG}) or anything like that.<o:p></o:p></p>
<p class="MsoNormal">6) There are tool chain files for popular compilers within the cmake/ directory.  For example, there is cmake/GNU/AsmFlags.cmake cmake/GNU/CFlags.cmake and cmake/GNU/FortranFlags.cmake.<o:p></o:p></p>
<p class="MsoNormal">These can be expanded by seeing how CMake defines ${CMAKE_C_COMPILER_ID} for a particular compiler and then adding a directory within cmake/ called ${CMAKE_C_COMPILER_ID} and then creating AsmFlags.cmake and CFlags.cmake.  If these files
 don’t exist for a particular compiler, a warning is given to the user.<o:p></o:p></p>
<p class="MsoNormal">7) Option to either use or disregard predefined linker flags by specifying –DUSE_PREDEFINED_LINKER_FLAGS=true|false, default is true.  When true, the linker flags inside CommonFlags.cmake are used.  When false, they are ignored and the
 default CMake linker flags are used.<o:p></o:p></p>
<p class="MsoNormal">8) Option to either use or disregard adaptive locks (TSX-based x86 locks) by specifying –DUSE_ADAPTIVE_LOCKS=true|false, default is true for IA-32 and Intel® 64 architectures, false otherwise.<o:p></o:p></p>
<p class="MsoNormal">9) Options to APPEND user specific flags via:<o:p></o:p></p>
<p class="MsoNormal">-DUSER_C_FLAGS=<C Compiler flags><o:p></o:p></p>
<p class="MsoNormal">-DUSER_CXX_FLAGS=<C++ Compiler flags><o:p></o:p></p>
<p class="MsoNormal">-DUSER_ASM_FLAGS=<asm flags><o:p></o:p></p>
<p class="MsoNormal">-DUSER_LD_FLAGS=<linker flags><o:p></o:p></p>
<p class="MsoNormal">-DUSER_LD_LIB_FLAGS=<linked in libraries><o:p></o:p></p>
<p class="MsoNormal">-DUSER_F_FLAGS=<Fortran Compiler flags><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Some of these details are in Build_With_CMake.txt.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">To remove previous patches:<o:p></o:p></p>
<p class="MsoNormal">patch –p0 –RE < initial_intel_cmake.patch<o:p></o:p></p>
<p class="MsoNormal">patch –p0 –RE < second_intel_cmake.patch<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">To apply this patch:<o:p></o:p></p>
<p class="MsoNormal">patch –p0 < third_intel_cmake.patch<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I am hoping this is going to get pushed to trunk.  Then we can make smaller changes to it.<o:p></o:p></p>
<p class="MsoNormal">Questions? Comments?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">-- Johnny<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>