Windows-cl.cmake 4.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. SET(CMAKE_LIBRARY_PATH_FLAG "-LIBPATH:")
  2. SET(CMAKE_LINK_LIBRARY_FLAG "")
  3. SET(CMAKE_START_TEMP_FILE "@<<\n")
  4. SET(CMAKE_END_TEMP_FILE "\n<<")
  5. # uncomment these out to debug makefiles
  6. #SET(CMAKE_START_TEMP_FILE "")
  7. #SET(CMAKE_END_TEMP_FILE "")
  8. #SET(CMAKE_VERBOSE_MAKEFILE 1)
  9. # create a shared C++ library
  10. SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
  11. "link /nologo ${CMAKE_START_TEMP_FILE} /out:<TARGET> /dll <LINK_FLAGS> <OBJECTS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
  12. SET(CMAKE_CXX_CREATE_SHARED_MODULE ${CMAKE_CXX_CREATE_SHARED_LIBRARY})
  13. # create a C shared library
  14. SET(CMAKE_C_CREATE_SHARED_LIBRARY ${CMAKE_CXX_CREATE_SHARED_LIBRARY})
  15. # create a C shared module just copy the shared library rule
  16. SET(CMAKE_C_CREATE_SHARED_MODULE ${CMAKE_C_CREATE_SHARED_LIBRARY})
  17. # create a C++ static library
  18. SET(CMAKE_CXX_CREATE_STATIC_LIBRARY "lib /nologo <LINK_FLAGS> /out:<TARGET> <OBJECTS> ")
  19. # create a C static library
  20. SET(CMAKE_C_CREATE_STATIC_LIBRARY ${CMAKE_CXX_CREATE_STATIC_LIBRARY})
  21. # compile a C++ file into an object file
  22. SET(CMAKE_CXX_COMPILE_OBJECT
  23. "<CMAKE_CXX_COMPILER> ${CMAKE_START_TEMP_FILE} /nologo -DWIN32 /Fo<OBJECT> <FLAGS> -c <SOURCE>${CMAKE_END_TEMP_FILE}")
  24. # compile a C file into an object file
  25. SET(CMAKE_C_COMPILE_OBJECT
  26. "<CMAKE_C_COMPILER> ${CMAKE_START_TEMP_FILE} /nologo -DWIN32 /Fo<OBJECT> <FLAGS> -c <SOURCE>${CMAKE_END_TEMP_FILE}")
  27. SET(CMAKE_C_LINK_EXECUTABLE
  28. "<CMAKE_C_COMPILER> /nologo ${CMAKE_START_TEMP_FILE} <FLAGS> <OBJECTS> /Fe<TARGET> -link <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
  29. SET(CMAKE_COMPILE_RESOURCE "rc <FLAGS> /fo<OBJECT> <SOURCE>")
  30. SET(CMAKE_CXX_LINK_EXECUTABLE
  31. "<CMAKE_CXX_COMPILER> /nologo ${CMAKE_START_TEMP_FILE} <FLAGS> <OBJECTS> /Fe<TARGET> -link <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
  32. SET(CMAKE_CREATE_WIN32_EXE /subsystem:windows)
  33. # default to Debug builds
  34. SET(CMAKE_BUILD_TYPE_INIT Debug)
  35. SET (CMAKE_CXX_FLAGS_INIT "/W3 /Zm1000 /GX /GR")
  36. SET (CMAKE_CXX_FLAGS_DEBUG_INIT "/MDd /Zi /Od /GZ")
  37. SET (CMAKE_CXX_FLAGS_MINSIZEREL_INIT "/MD /O1")
  38. SET (CMAKE_CXX_FLAGS_RELEASE_INIT "/MD /O2")
  39. SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "/MD /Zi /O2")
  40. SET (CMAKE_C_FLAGS_INIT "/W3 /Zm1000")
  41. SET (CMAKE_C_FLAGS_DEBUG_INIT "/MDd /Zi /Od /GZ")
  42. SET (CMAKE_C_FLAGS_MINSIZEREL_INIT "/MD /O1")
  43. SET (CMAKE_C_FLAGS_RELEASE_INIT "/MD /O2")
  44. SET (CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "/MD /Zi /O2")
  45. SET (CMAKE_STANDARD_LIBRARIES "kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib" CACHE STRING
  46. "Libraries linked by defalut with all applications.")
  47. MARK_AS_ADVANCED(CMAKE_STANDARD_LIBRARIES)
  48. IF(CMAKE_GENERATOR MATCHES "Visual Studio 6")
  49. SET (CMAKE_NO_BUILD_TYPE 1)
  50. ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 6")
  51. IF(CMAKE_GENERATOR MATCHES "Visual Studio 7")
  52. SET (CMAKE_CONFIGURATION_TYPES "Debug;Release;MinSizeRel;RelWithDebInfo" CACHE STRING
  53. "Semicolon separated list of supported configuration types, only supports Debug, Release, MinSizeRel, and RelWithDebInfo, anything else will be ignored.")
  54. SET (CMAKE_CXX_WARNING_LEVEL "3" CACHE STRING
  55. "Size of stack for programs.")
  56. SET (CMAKE_CXX_STACK_SIZE "10000000" CACHE STRING
  57. "Size of stack for programs.")
  58. MARK_AS_ADVANCED(CMAKE_CONFIGURATION_TYPES CMAKE_CXX_STACK_SIZE CMAKE_CXX_WARNING_LEVEL)
  59. SET (CMAKE_NOT_USING_CONFIG_FLAGS 1)
  60. ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 7")
  61. # executable linker flags
  62. SET (CMAKE_LINK_DEF_FILE_FLAG "/DEF:")
  63. SET (CMAKE_EXE_LINKER_FLAGS_INIT "/STACK:10000000 /machine:I386 /INCREMENTAL:YES")
  64. SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug /pdbtype:sept")
  65. SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug /pdbtype:sept")
  66. SET (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT})
  67. SET (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
  68. SET (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
  69. SET (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS})
  70. SET (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_MODULE_LINKER_FLAGS_DEBUG})
  71. SET (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})