From dfcd4f21541f2981f53ca6f1ae15da2f88a223f7 Mon Sep 17 00:00:00 2001 From: Ken Martin Date: Tue, 5 Aug 2003 09:55:20 -0400 Subject: added test for whether pdbtype should be used for nmake --- Modules/CMakeTestNMakeCLVersion.c | 2 ++ Modules/Platform/Windows-cl.cmake | 25 +++++++++++++++++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 Modules/CMakeTestNMakeCLVersion.c diff --git a/Modules/CMakeTestNMakeCLVersion.c b/Modules/CMakeTestNMakeCLVersion.c new file mode 100644 index 0000000..3cece2a --- /dev/null +++ b/Modules/CMakeTestNMakeCLVersion.c @@ -0,0 +1,2 @@ +VERSION=_MSC_VER + diff --git a/Modules/Platform/Windows-cl.cmake b/Modules/Platform/Windows-cl.cmake index 6ea9322..fa246b8 100644 --- a/Modules/Platform/Windows-cl.cmake +++ b/Modules/Platform/Windows-cl.cmake @@ -77,12 +77,33 @@ IF(CMAKE_GENERATOR MATCHES "Visual Studio 7") SET (CMAKE_NOT_USING_CONFIG_FLAGS 1) ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 7") +# does the compiler support pdbtype +SET(CMAKE_COMPILER_SUPPORTS_PDBTYPE 1) +IF(CMAKE_GENERATOR MATCHES "NMake Makefiles") + EXEC_PROGRAM(${CMAKE_CXX_COMPILER} + ARGS /nologo -EP ${CMAKE_ROOT}/Modules/CMakeTestNMakeCLVersion.c + OUTPUT_VARIABLE CMAKE_COMPILER_OUTPUT + RETURN_VALUE CMAKE_COMPILER_RETURN + ) + IF(NOT CMAKE_COMPILER_RETURN) + IF("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*VERSION=1[3-9][0-9][0-9].*" ) + SET(CMAKE_COMPILER_SUPPORTS_PDBTYPE 0) + ENDIF("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*VERSION=1[3-9][0-9][0-9].*" ) + ENDIF(NOT CMAKE_COMPILER_RETURN) +ENDIF(CMAKE_GENERATOR MATCHES "NMake Makefiles") + # executable linker flags SET (CMAKE_LINK_DEF_FILE_FLAG "/DEF:") SET (CMAKE_EXE_LINKER_FLAGS_INIT "/STACK:10000000 /machine:I386 /INCREMENTAL:YES") -SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug /pdbtype:sept") -SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug /pdbtype:sept") +IF (CMAKE_COMPILER_SUPPORTS_PDBTYPE) + SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug /pdbtype:sept") + SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug /pdbtype:sept") +ELSE (CMAKE_COMPILER_SUPPORTS_PDBTYPE) + SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug") + SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug") +ENDIF (CMAKE_COMPILER_SUPPORTS_PDBTYPE) + SET (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT}) SET (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT}) SET (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT}) -- cgit v0.12