CMakeDefaultMakeRuleVariables.cmake 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. # this file contains rule variables that tell cmake how to
  2. # do things like build a .o file, create a shared or static library
  3. #
  4. # this file defines the following rule variables
  5. # CMAKE_CXX_CREATE_SHARED_LIBRARY
  6. # CMAKE_CXX_CREATE_SHARED_MODULE
  7. # CMAKE_C_CREATE_SHARED_LIBRARY
  8. # CMAKE_C_CREATE_SHARED_MODULE
  9. # CMAKE_CXX_CREATE_STATIC_LIBRARY
  10. # CMAKE_C_CREATE_STATIC_LIBRARY
  11. # CMAKE_CXX_COMPILE_OBJECT
  12. # CMAKE_C_COMPILE_OBJECT
  13. # CMAKE_C_LINK_EXECUTABLE
  14. # CMAKE_CXX_LINK_EXECUTABLE
  15. # variables supplied by the generator at use time
  16. # <TARGET>
  17. # <TARGET_BASE> the target without the suffix
  18. # <OBJECTS>
  19. # <OBJECT>
  20. # <LINK_LIBRARIES>
  21. # <FLAGS>
  22. # <LINK_FLAGS>
  23. # CXX compiler information
  24. # <CMAKE_CXX_COMPILER>
  25. # <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS>
  26. # <CMAKE_CXX_SHARED_MODULE_CREATE_FLAGS>
  27. # <CMAKE_CXX_LINK_FLAGS>
  28. # C compiler information
  29. # <CMAKE_C_COMPILER>
  30. # <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS>
  31. # <CMAKE_SHARED_MODULE_CREATE_C_FLAGS>
  32. # <CMAKE_C_LINK_FLAGS>
  33. # Static library tools
  34. # <CMAKE_AR>
  35. # <CMAKE_RANLIB>
  36. # create a shared C++ library
  37. IF(NOT CMAKE_CXX_CREATE_SHARED_LIBRARY)
  38. SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
  39. "<CMAKE_CXX_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
  40. ENDIF(NOT CMAKE_CXX_CREATE_SHARED_LIBRARY)
  41. # create a c++ shared module copy the shared library rule by default
  42. IF(NOT CMAKE_CXX_CREATE_SHARED_MODULE)
  43. SET(CMAKE_CXX_CREATE_SHARED_MODULE ${CMAKE_CXX_CREATE_SHARED_LIBRARY})
  44. ENDIF(NOT CMAKE_CXX_CREATE_SHARED_MODULE)
  45. # create a C shared library
  46. IF(NOT CMAKE_C_CREATE_SHARED_LIBRARY)
  47. SET(CMAKE_C_CREATE_SHARED_LIBRARY
  48. "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_C_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
  49. ENDIF(NOT CMAKE_C_CREATE_SHARED_LIBRARY)
  50. # create a C shared module just copy the shared library rule
  51. IF(NOT CMAKE_C_CREATE_SHARED_MODULE)
  52. SET(CMAKE_C_CREATE_SHARED_MODULE ${CMAKE_C_CREATE_SHARED_LIBRARY})
  53. ENDIF(NOT CMAKE_C_CREATE_SHARED_MODULE)
  54. # create a C++ static library
  55. IF(NOT CMAKE_CXX_CREATE_STATIC_LIBRARY)
  56. SET(CMAKE_CXX_CREATE_STATIC_LIBRARY
  57. "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> "
  58. "<CMAKE_RANLIB> <TARGET> ")
  59. ENDIF(NOT CMAKE_CXX_CREATE_STATIC_LIBRARY)
  60. # create a C static library
  61. IF(NOT CMAKE_C_CREATE_STATIC_LIBRARY)
  62. SET(CMAKE_C_CREATE_STATIC_LIBRARY
  63. "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> "
  64. "<CMAKE_RANLIB> <TARGET> ")
  65. ENDIF(NOT CMAKE_C_CREATE_STATIC_LIBRARY)
  66. # compile a C++ file into an object file
  67. IF(NOT CMAKE_CXX_COMPILE_OBJECT)
  68. SET(CMAKE_CXX_COMPILE_OBJECT
  69. "<CMAKE_CXX_COMPILER> -o <OBJECT> <FLAGS> -c <SOURCE>")
  70. ENDIF(NOT CMAKE_CXX_COMPILE_OBJECT)
  71. # compile a C file into an object file
  72. IF(NOT CMAKE_C_COMPILE_OBJECT)
  73. SET(CMAKE_C_COMPILE_OBJECT
  74. "<CMAKE_C_COMPILER> -o <OBJECT> <FLAGS> -c <SOURCE>")
  75. ENDIF(NOT CMAKE_C_COMPILE_OBJECT)
  76. IF(NOT CMAKE_C_LINK_EXECUTABLE)
  77. SET(CMAKE_C_LINK_EXECUTABLE
  78. "<CMAKE_C_COMPILER> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
  79. ENDIF(NOT CMAKE_C_LINK_EXECUTABLE)
  80. IF(NOT CMAKE_CXX_LINK_EXECUTABLE)
  81. SET(CMAKE_CXX_LINK_EXECUTABLE
  82. "<CMAKE_CXX_COMPILER> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
  83. ENDIF(NOT CMAKE_CXX_LINK_EXECUTABLE)