Windows-icl.cmake 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. SET(CMAKE_LIBRARY_PATH_FLAG "-LIBPATH:")
  2. SET(CMAKE_LINK_LIBRARY_FLAG "")
  3. SET(WIN32 1)
  4. IF(CMAKE_VERBOSE_MAKEFILE)
  5. SET(CMAKE_CL_NOLOGO)
  6. ELSE(CMAKE_VERBOSE_MAKEFILE)
  7. SET(CMAKE_CL_NOLOGO "/nologo")
  8. ENDIF(CMAKE_VERBOSE_MAKEFILE)
  9. # create a shared C++ library
  10. SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
  11. "link ${CMAKE_CL_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 ${CMAKE_CL_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} ${CMAKE_CL_NOLOGO} /TP -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} ${CMAKE_CL_NOLOGO} -DWIN32 /Fo<OBJECT> <FLAGS> -c <SOURCE>${CMAKE_END_TEMP_FILE}")
  27. SET(CMAKE_C_LINK_EXECUTABLE
  28. "<CMAKE_C_COMPILER> ${CMAKE_CL_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> ${CMAKE_CL_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. SET(CMAKE_CREATE_CONSOLE_EXE /subsystem:console)
  34. # default to Debug builds
  35. #SET(CMAKE_BUILD_TYPE_INIT Debug)
  36. SET(CMAKE_BUILD_TYPE_INIT Release)
  37. SET (CMAKE_CXX_FLAGS_INIT "/W3 /Zm1000 /GX /GR")
  38. SET (CMAKE_CXX_FLAGS_DEBUG_INIT "/MDd /Zi /Od /GZ")
  39. SET (CMAKE_CXX_FLAGS_MINSIZEREL_INIT "/MD /O1")
  40. SET (CMAKE_CXX_FLAGS_RELEASE_INIT "/MD /O2")
  41. SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "/MD /Zi /O2")
  42. SET (CMAKE_C_FLAGS_INIT "/W3 /Zm1000")
  43. SET (CMAKE_C_FLAGS_DEBUG_INIT "/MDd /Zi /Od /GZ")
  44. SET (CMAKE_C_FLAGS_MINSIZEREL_INIT "/MD /O1")
  45. SET (CMAKE_C_FLAGS_RELEASE_INIT "/MD /O2")
  46. SET (CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "/MD /Zi /O2")
  47. SET(CMAKE_C_STANDARD_LIBRARIES_INIT "kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib")
  48. SET(CMAKE_CXX_STANDARD_LIBRARIES_INIT "${CMAKE_C_STANDARD_LIBRARIES_INIT}")
  49. # executable linker flags
  50. SET (CMAKE_LINK_DEF_FILE_FLAG "/DEF:")
  51. SET (CMAKE_EXE_LINKER_FLAGS_INIT "/STACK:10000000 /INCREMENTAL:YES")
  52. SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug")
  53. SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug")
  54. SET (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT})
  55. SET (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
  56. SET (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
  57. SET (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS_INIT})
  58. SET (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT})
  59. SET (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})