The following issue has been SUBMITTED. 
====================================================================== 
https://public.kitware.com/Bug/view.php?id=16003 
====================================================================== 
Reported By:                Dmitry Sokolov
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   16003
Category:                   CMake
Reproducibility:            have not tried
Severity:                   block
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2016-03-02 14:06 EST
Last Modified:              2016-03-02 14:06 EST
====================================================================== 
Summary:                    "Visual Studio" generators produces wrong settings
for .idl files (regression).
Description: 
CMakeLists.txt:

add_executable(app main.cpp file.idl)
set_source_files_properties(file.idl PROPERTIES COMPILE_FLAGS "/nologo /char
signed /env win32  /tlb \"file.tlb\" /I \"../include\" /out
\"${PROJECT_BINARY_DIR}/include\" /h \"file.h\" /dlldata \"dlldata.c\" /iid
\"file_i.c\" ")


Files main.cpp, file.idl are empty.

Generating:

cmake.exe -G "Visual Studio 12 2013" path\to\CMakeLists.txt

CMake v3.4.x, v3.5.x will produce a .vcxproj:

  <ItemGroup>
    <Midl Include="path\to\file.idl" />
    <ClCompile Include="path\to\main.cpp"  />
  </ItemGroup>

while CMake v3.2.1 will produce

  <ItemGroup>
    <Midl Include="path\to\file.idl">
      <AdditionalIncludeDirectories
Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <DefaultCharType
Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Signed</DefaultCharType>
      <DllDataFileName
Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">dlldata.c</DllDataFileName>
      <HeaderFileName
Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">file.h</HeaderFileName>
      <InterfaceIdentifierFileName
Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">file_i.c</InterfaceIdentifierFileName>
      <OutputDirectory
Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">include</OutputDirectory>
      <SuppressStartupBanner
Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</SuppressStartupBanner>
      <TargetEnvironment
Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Win32</TargetEnvironment>
      <TypeLibraryName
Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">file.tlb</TypeLibraryName>
...
    </Midl>
    <ClCompile Include="path\to\main.cpp"  />
  </ItemGroup>

====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2016-03-02 14:06 Dmitry Sokolov New Issue                                    
======================================================================

-- 

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-developers

Reply via email to