A Problem for building a SDK sample by CMake and VS2008 in Win7

try putting this macro in a file called compiler_config.cmake, including it, calling it and see if it works. Works for me, but mileage may vary. Better yet try getting a hold of James Bigler on the cmake users group.

macro( compiler_config )

	if( LINUX_BUILD )

	

	else()

	OPTION(	USE_CUSTOM_COMPILER_SETTINGS ""  ON )

	if( USE_CUSTOM_COMPILER_SETTINGS )

		# This is such an awful idea (global compiler settings)

		

		SET( THREAD_DEBUG_OPT /MDd CACHE STRING "" FORCE )

	#	SET( THREAD_DEBUG_OPT /MTd CACHE STRING "" FORCE )

		

		

	    SET (CMAKE_CXX_FLAGS_INIT "/DWIN32 /D_WINDOWS /W3 /Zm1000 /EHsc /GR " CACHE STRING "" FORCE )

		

		SET( CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG ${THREAD_DEBUG_OPT} /Zi /Ob0 /Od /Gm " CACHE STRING "" FORCE )

	    SET (CMAKE_CXX_FLAGS_DEBUG_INIT "/D_DEBUG ${THREAD_DEBUG_OPT} /Zi /Ob0 /Od " CACHE STRING "" FORCE )

	    SET( CMAKE_C_FLAGS_DEBUG "/D_DEBUG /MDd  /Zi  /Ob0 /Od  " CACHE STRING "" FORCE )

		SET (CMAKE_C_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Zi  /Ob0 /Od " CACHE STRING "" FORCE )

		

		

	    

	    SET (CMAKE_CXX_FLAGS_MINSIZEREL_INIT "/MD /O1 /Ob1 /D NDEBUG" CACHE STRING "" FORCE )

	    SET (CMAKE_CXX_FLAGS_RELEASE_INIT "/MD /O2 /Ob2 /D NDEBUG" CACHE STRING "" FORCE )

	    SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "/MD /Zi /O2 /Ob1 /D NDEBUG" CACHE STRING "" FORCE )

	    SET (CMAKE_C_FLAGS_INIT "/DWIN32 /D_WINDOWS /W3 /Zm1000" CACHE STRING "" FORCE )

	    SET (CMAKE_C_FLAGS_MINSIZEREL_INIT "/MD /O1 /Ob1 /D NDEBUG" CACHE STRING "" FORCE )

	    SET (CMAKE_C_FLAGS_RELEASE_INIT "/MD /O2 /Ob2 /D NDEBUG" CACHE STRING "" FORCE )

	    SET (CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "/MD /Zi /O2 /Ob1 /D NDEBUG" CACHE STRING "" FORCE )

	    SET (CMAKE_C_STANDARD_LIBRARIES_INIT "kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib " CACHE STRING "" FORCE )

	    SET( CMAKE_EXE_LINKER_FLAGS_INIT /MACHINE:x64 CACHE STRING "" FORCE )	

	    message( "CMAKE_EXE_LINKER_FLAGS_INIT = ${CMAKE_EXE_LINKER_FLAGS_INIT}" )

		

		debug_message( "CMAKE_EXE_LINKER_FLAGS_INIT = ${CMAKE_EXE_LINKER_FLAGS_INIT}" )

		

		debug_message( "CMAKE_CXX_FLAGS_DEBUG = " ${CMAKE_CXX_FLAGS_DEBUG} )

		debug_message( "THREAD_DEBUG_OPT  = " ${THREAD_DEBUG_OPT} )

		debug_message( "THREAD_RELEASE_OPT  = " ${THREAD_RELEASE_OPT} )

		debug_message( "CMAKE_CXX_FLAGS_DEBUG  = " ${CMAKE_CXX_FLAGS_DEBUG} )

		debug_message( "CMAKE_CXX_FLAGS_MINSIZEREL  = " ${CMAKE_CXX_FLAGS_MINSIZEREL} )

		debug_message( "CMAKE_CXX_FLAGS_RELEASE  = " ${CMAKE_CXX_FLAGS_RELEASE} )

		debug_message( "CMAKE_CXX_FLAGS_RELWITHDEBINFO  = " ${CMAKE_CXX_FLAGS_RELWITHDEBINFO} )

		debug_message( "CMAKE_EXE_LINKER_FLAGS  = " ${CMAKE_EXE_LINKER_FLAGS} )

		debug_message( "CMAKE_MODULE_LINKER_FLAGS  = " ${CMAKE_MODULE_LINKER_FLAGS} )

		debug_message( "CMAKE_SHARED_LINKER_FLAGS  = " ${CMAKE_SHARED_LINKER_FLAGS} )

	else()

		message( 'custom windows build disabled' )

	endif()

	endif()	

endmacro()