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