Windows-cl.cmake 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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 /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_BUILD_TYPE Debug CACHE STRING
  33. "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel.")
  34. SET(CMAKE_CREATE_WIN32_EXE /subsystem:windows)
  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. FIND_PROGRAM(CMAKE_MAKE_PROGRAM NAMES nmake )
  49. # executable linker flags
  50. SET (CMAKE_LINK_DEF_FILE_FLAG "/DEF:")
  51. SET (CMAKE_EXE_LINKER_FLAGS_INIT "/STACK:10000000 /machine:I386 /INCREMENTAL:YES")
  52. SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug /pdbtype:sept")
  53. SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug /pdbtype:sept")
  54. SET (CMAKE_SHARED_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS_INIT})
  55. SET (CMAKE_SHARED_LINKER_FLAGS_DEBUG ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
  56. SET (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
  57. SET (CMAKE_MODULE_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS}
  58. SET (CMAKE_MODULE_LINKER_FLAGS_DEBUG ${CMAKE_MODULE_LINKER_FLAGS_DEBUG})
  59. SET (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})