CMakeDefaultMakeRuleVariables.cmake 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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. # CXX compiler information
  23. # <CMAKE_CXX_COMPILER>
  24. # <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS>
  25. # <CMAKE_CXX_SHARED_MODULE_CREATE_FLAGS>
  26. # <CMAKE_CXX_LINK_FLAGS>
  27. # C compiler information
  28. # <CMAKE_C_COMPILER>
  29. # <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS>
  30. # <CMAKE_SHARED_MODULE_CREATE_C_FLAGS>
  31. # <CMAKE_C_LINK_FLAGS>
  32. # Static library tools
  33. # <CMAKE_AR>
  34. # <CMAKE_RANLIB>
  35. # create a shared C++ library
  36. IF(NOT CMAKE_CXX_CREATE_SHARED_LIBRARY)
  37. SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
  38. "<CMAKE_CXX_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
  39. ENDIF(NOT CMAKE_CXX_CREATE_SHARED_LIBRARY)
  40. # create a c++ shared module copy the shared library rule by default
  41. IF(NOT CMAKE_CXX_CREATE_SHARED_MODULE)
  42. SET(CMAKE_CXX_CREATE_SHARED_MODULE ${CMAKE_CXX_CREATE_SHARED_LIBRARY})
  43. ENDIF(NOT CMAKE_CXX_CREATE_SHARED_MODULE)
  44. # create a C shared library
  45. IF(NOT CMAKE_C_CREATE_SHARED_LIBRARY)
  46. SET(CMAKE_C_CREATE_SHARED_LIBRARY
  47. "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_C_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
  48. ENDIF(NOT CMAKE_C_CREATE_SHARED_LIBRARY)
  49. # create a C shared module just copy the shared library rule
  50. IF(NOT CMAKE_C_CREATE_SHARED_MODULE)
  51. SET(CMAKE_C_CREATE_SHARED_MODULE ${CMAKE_C_CREATE_SHARED_LIBRARY})
  52. ENDIF(NOT CMAKE_C_CREATE_SHARED_MODULE)
  53. # create a C++ static library
  54. IF(NOT CMAKE_CXX_CREATE_STATIC_LIBRARY)
  55. SET(CMAKE_CXX_CREATE_STATIC_LIBRARY
  56. "<CMAKE_AR> cr <TARGET> <OBJECTS> "
  57. "<CMAKE_RANLIB> <TARGET> ")
  58. ENDIF(NOT CMAKE_CXX_CREATE_STATIC_LIBRARY)
  59. # create a C static library
  60. IF(NOT CMAKE_C_CREATE_STATIC_LIBRARY)
  61. SET(CMAKE_C_CREATE_STATIC_LIBRARY
  62. "<CMAKE_AR> cr <TARGET> <OBJECTS> "
  63. "<CMAKE_RANLIB> <TARGET> ")
  64. ENDIF(NOT CMAKE_C_CREATE_STATIC_LIBRARY)
  65. # compile a C++ file into an object file
  66. IF(NOT CMAKE_CXX_COMPILE_OBJECT)
  67. SET(CMAKE_CXX_COMPILE_OBJECT
  68. "<CMAKE_CXX_COMPILER> -o <OBJECT> <FLAGS> -c <SOURCE>")
  69. ENDIF(NOT CMAKE_CXX_COMPILE_OBJECT)
  70. # compile a C file into an object file
  71. IF(NOT CMAKE_C_COMPILE_OBJECT)
  72. SET(CMAKE_C_COMPILE_OBJECT
  73. "<CMAKE_C_COMPILER> -o <OBJECT> <FLAGS> -c <SOURCE>")
  74. ENDIF(NOT CMAKE_C_COMPILE_OBJECT)
  75. IF(NOT CMAKE_C_LINK_EXECUTABLE)
  76. SET(CMAKE_C_LINK_EXECUTABLE
  77. "<CMAKE_C_COMPILER> <CMAKE_C_LINK_FLAGS> <FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
  78. ENDIF(NOT CMAKE_C_LINK_EXECUTABLE)
  79. IF(NOT CMAKE_CXX_LINK_EXECUTABLE)
  80. SET(CMAKE_CXX_LINK_EXECUTABLE
  81. "<CMAKE_CXX_COMPILER> <CMAKE_CXX_LINK_FLAGS> <FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
  82. ENDIF(NOT CMAKE_CXX_LINK_EXECUTABLE)