[cmake-developers] [CMake 0014752]: Unable to run Visual Studio 2013 x64 C++ Compiler using execute_process() Command

Mantis Bug Tracker mantis at public.kitware.com
Wed Feb 12 15:19:14 EST 2014


The following issue has been SUBMITTED. 
====================================================================== 
http://www.cmake.org/Bug/view.php?id=14752 
====================================================================== 
Reported By:                N. Thompson
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   14752
Category:                   CMake
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2014-02-12 15:19 EST
Last Modified:              2014-02-12 15:19 EST
====================================================================== 
Summary:                    Unable to run Visual Studio 2013 x64 C++ Compiler
using execute_process() Command
Description: 
I have a CMakeLists.txt file that is used to build a C++ application under
Windows, Linux and Solaris. It has been used for three years and works well but
it has stopped working for Visual Studio 2013 Win64 builds. 

When the project is built under Windows, we script an extra step into the
configuration phase in order to generate a list of all the h/hpp files that are
used by the project.  To get the header file names, the Visual Studio C++
compiler is run using the “/Zs” option.  The dynamically detected header
file names are then combined with the static cpp file names. This results in a
project that enhances the usability of the Visual Studio IDE and the SlickEdit
editor. This concept works very well for Visual Studio 2010 (x32 and X64),
Visual Studio 2012 (x32 and x64) and Visual Studio 2013 (x32 only). However,
when the CMake generator is set to “Visual Studio 12 Win64" and CMake is run,
it fails in the configuration step when it attempts to run the C++ compiler
using execute_process(). The CMake statement that runs the compiler is:

“execute_process( COMMAND ${CMAKE_CXX_COMPILER} @${response_filename}
RESULT_VARIABLE compiler_return_code OUTPUT_VARIABLE
compiler_standardoutput_stream ERROR_VARIABLE compiler_standarderror_stream)”
		
The error appears in a popup window when CMake is run from a Windows 7
command-line prompt. The window shows the following:

“cl.exe - Application Error The application was unable to start correctly
(0xc000007b). Click OK to close the application.”

Some reports on the web suggest that sometimes these errors are caused by the
improper use of 32bit/64 bit DLLs.



Steps to Reproduce: 
The CMakeLists.txt file is complex. Currently trying to strip it down to a
portable example that demonstrates the failure.
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2014-02-12 15:19 N. Thompson    New Issue                                    
======================================================================



More information about the cmake-developers mailing list