Windows-icl.cmake 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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_STANDARD_LIBRARIES "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" CACHE STRING
  48. "Libraries linked by defalut with all applications.")
  49. MARK_AS_ADVANCED(CMAKE_STANDARD_LIBRARIES)
  50. # executable linker flags
  51. SET (CMAKE_LINK_DEF_FILE_FLAG "/DEF:")
  52. SET (CMAKE_EXE_LINKER_FLAGS_INIT "/STACK:10000000 /INCREMENTAL:YES")
  53. SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug")
  54. SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug")
  55. SET (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT})
  56. SET (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
  57. SET (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
  58. SET (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS_INIT})
  59. SET (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT})
  60. SET (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})