[CMake] CMake and multiple Microsoft compilers on windows

John Drescher drescherjm at gmail.com
Fri Mar 20 15:00:19 EDT 2009


On my windows XP box, I have VC6, 2003, 2005 and 2008 installed and I
have selected VS2005 for the build however all the CMake checks are
happening for VC6. It does not seem to cause any harm but what about
header and library differences between the compilers? I mean all the
checks for stl ... are probably for the stl that is included with vc6
and not vs2005 (which I know is not the same).

Check for working C compiler: C:/Program Files/Microsoft Visual
Studio/VC98/Bin/CL.EXE
Check for working C compiler: C:/Program Files/Microsoft Visual
Studio/VC98/Bin/CL.EXE -- works
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Check for working CXX compiler: C:/Program Files/Microsoft Visual
Studio/VC98/Bin/CL.EXE
Check for working CXX compiler: C:/Program Files/Microsoft Visual
Studio/VC98/Bin/CL.EXE -- works
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Looking for sys/types.h
Looking for sys/types.h - found
Looking for stdint.h
Looking for stdint.h - not found
Looking for stddef.h
Looking for stddef.h - found
Check size of int
Check size of int - done
Check size of long
Check size of long - done
Check size of void*
Check size of void* - done
Check size of char
Check size of char - done
Check size of short
Check size of short - done
Check size of float
Check size of float - done
Check size of double
Check size of double - done
Looking for limits.h
Looking for limits.h - found
Looking for unistd.h
Looking for unistd.h - not found
Looking for pthread.h
Looking for pthread.h - not found
Looking for include files CMAKE_HAVE_SYS_PRCTL_H
Looking for include files CMAKE_HAVE_SYS_PRCTL_H - not found.
Check if the system is big endian
Searching 16 bit integer
Check size of unsigned short
Check size of unsigned short - done
Using unsigned short
Check if the system is big endian - little endian
Found Threads: TRUE
Looking for C++ include iostream
Looking for C++ include iostream - found
Check for STD namespace
Check for STD namespace - found
Check for ANSI scope
Check for ANSI scope - found
Check for sstream
Check for sstream - found
Checking to see if this platform supports large bit-fields (>32 bits)
Checking to see if this platform supports large bit-fields (>32 bits) - yes
Check the value of the 22nd bit of a 32-bit quiet-NaN
Check the value of the 22nd bit of a 32-bit quiet-NaN - 1
Check size of long long
Check size of long long - done
Check size of __int64
Check size of __int64 - done
Checking whether long and __int64 are the same type
Checking whether long and __int64 are the same type -- no
Checking if ostream supports long long
Checking if ostream supports long long -- no
Checking if istream supports long long
Checking if istream supports long long -- no
Checking to see if this platform has the __FUNCTION__ C-Preprocessor directive
Checking to see if this platform supports has the __FUNCTION__
C-Preprocessor directive - yes
Checking for Large File Support
Checking for Large File Support - failed to compile
Checking whether STL classes are in std namespace
Checking whether STL classes are in std namespace - yes
Checking whether ANSI stream headers are available
Checking whether ANSI stream headers are available - yes
Checking whether ANSI streams are in std namespace
Checking whether ANSI streams are in std namespace - yes
Checking whether ANSI string stream is available
Checking whether ANSI string stream is available - yes
Checking whether header cstddef is available
Checking whether header cstddef is available - yes
Checking whether stl string has operator!= for char*
Checking whether stl string has operator!= for char* - yes
Checking whether stl has iterator_traits
Checking whether stl has iterator_traits - yes
Checking whether stl has standard template allocator
Checking whether stl has standard template allocator - yes
Checking for rebind member of stl allocator
Checking for rebind member of stl allocator - yes
Checking for non-standard argument to stl allocator<>::max_size
Checking for non-standard argument to stl allocator<>::max_size - no
Checking whether stl containers support allocator objects.
Checking whether stl containers support allocator objects. - yes
Checking whether "<>" is needed for template friends
Checking whether "<>" is needed for template friends - yes
Checking for member template support
Checking for member template support - yes
Checking for standard template specialization syntax
Checking for standard template specialization syntax - yes
Checking whether argument dependent lookup is supported
Checking whether argument dependent lookup is supported - yes
Check size of char
Check size of char - done
Check size of short
Check size of short - done
Check size of int
Check size of int - done
Check size of long
Check size of long - done
Check size of long long
Check size of long long - done
Check size of __int64

-- 
John M. Drescher


More information about the CMake mailing list