MantisBT - CMake
View Issue Details
0013953CMakeCMakepublic2013-02-26 02:472015-06-01 08:38
mseise 
 
lowmajoralways
closedfixed 
WindowsWindows7
CMake 2.8.10.2 
CMake 3.0 
0013953: Visual Studio Express 2008 not found
My Visual Studio Express 2008 environment is not found, thus the correct toolchain is not set up properly.

The problem is in CMakeVS9FindMake.cmake

The lines

set( _CMAKE_MAKE_PROGRAM_NAMES devenv)
if(NOT CMAKE_CROSSCOMPILING)
  set( _CMAKE_MAKE_PROGRAM_NAMES ${_CMAKE_MAKE_PROGRAM_NAMES} VCExpress)
endif()

create the search String "devenvVCExpress" which is not found - for me the simple workaround

set( _CMAKE_MAKE_PROGRAM_NAMES devenv)
if(NOT CMAKE_CROSSCOMPILING)
  set( _CMAKE_MAKE_PROGRAM_NAMESVCExpress)
endif()

solved the issue.
Just use any cmake setup...
I have VS 2010 Professional and VC Express 2008 with 64 bit setup installed (for building python 2.7 bindings of ITK)
No tags attached.
Issue History
2013-02-26 02:47mseiseNew Issue
2013-11-19 11:29Brad KingNote Added: 0034483
2013-11-19 11:30Brad KingNote Added: 0034484
2015-01-21 09:07Brad KingNote Added: 0037761
2015-01-21 09:07Brad KingStatusnew => resolved
2015-01-21 09:07Brad KingResolutionopen => fixed
2015-01-21 09:07Brad KingFixed in Version => CMake 3.0
2015-06-01 08:38Robert MaynardNote Added: 0038852
2015-06-01 08:38Robert MaynardStatusresolved => closed

Notes
(0034483)
Brad King   
2013-11-19 11:29   
The code in question does

set( _CMAKE_MAKE_PROGRAM_NAMES devenv)
if(NOT CMAKE_CROSSCOMPILING)
  set( _CMAKE_MAKE_PROGRAM_NAMES ${_CMAKE_MAKE_PROGRAM_NAMES} VCExpress)
endif()

find_program(CMAKE_MAKE_PROGRAM
  NAMES ${_CMAKE_MAKE_PROGRAM_NAMES}
  ...
  )

The second set() is appending to a ;-list which is evaluated as separate arguments to find_program. This is correct. I suspect you tried to debug this with the message command, but

 message(_CMAKE_MAKE_PROGRAM_NAMES=${_CMAKE_MAKE_PROGRAM_NAMES})

will not show the separating ";" because the unquoted argument will divide on ; and then the message command concatenates all arguments with no separation. Instead using

 message("_CMAKE_MAKE_PROGRAM_NAMES=${_CMAKE_MAKE_PROGRAM_NAMES}")

shows that the list is intact.
(0034484)
Brad King   
2013-11-19 11:30   
Is this still an issue with the CMake 2.8.12.1, the current release?
(0037761)
Brad King   
2015-01-21 09:07   
The code in question no longer exists in CMake >= 3.0, so I'm assuming this is resolved.
(0038852)
Robert Maynard   
2015-06-01 08:38   
Closing resolved issues that have not been updated in more than 4 months.