CMakeDefaultMakeRuleVariables.cmake 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  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_FORTRAN_CREATE_SHARED_LIBRARY
  10. # CMAKE_FORTRAN_CREATE_SHARED_MODULE
  11. # CMAKE_CXX_CREATE_STATIC_LIBRARY
  12. # CMAKE_C_CREATE_STATIC_LIBRARY
  13. # CMAKE_FORTRAN_CREATE_STATIC_LIBRARY
  14. # CMAKE_CXX_COMPILE_OBJECT
  15. # CMAKE_C_COMPILE_OBJECT
  16. # CMAKE_FORTRAN_COMPILE_OBJECT
  17. # CMAKE_C_LINK_EXECUTABLE
  18. # CMAKE_FORTRAN_LINK_EXECUTABLE
  19. # CMAKE_CXX_LINK_EXECUTABLE
  20. # variables supplied by the generator at use time
  21. # <TARGET>
  22. # <TARGET_BASE> the target without the suffix
  23. # <OBJECTS>
  24. # <OBJECT>
  25. # <LINK_LIBRARIES>
  26. # <FLAGS>
  27. # <LINK_FLAGS>
  28. # CXX compiler information
  29. # <CMAKE_CXX_COMPILER>
  30. # <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS>
  31. # <CMAKE_CXX_SHARED_MODULE_CREATE_FLAGS>
  32. # <CMAKE_CXX_LINK_FLAGS>
  33. # C compiler information
  34. # <CMAKE_C_COMPILER>
  35. # <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS>
  36. # <CMAKE_SHARED_MODULE_CREATE_C_FLAGS>
  37. # <CMAKE_C_LINK_FLAGS>
  38. # Static library tools
  39. # <CMAKE_AR>
  40. # <CMAKE_RANLIB>
  41. # create a shared C++ library
  42. IF(NOT CMAKE_CXX_CREATE_SHARED_LIBRARY)
  43. SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
  44. "<CMAKE_CXX_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
  45. ENDIF(NOT CMAKE_CXX_CREATE_SHARED_LIBRARY)
  46. IF(CMAKE_COMPILER_IS_GNUCXX)
  47. SET(CMAKE_CXX_CREATE_SHARED_LIBRARY "${CMAKE_CXX_CREATE_SHARED_LIBRARY} -lgcc")
  48. ENDIF(CMAKE_COMPILER_IS_GNUCXX)
  49. # create a c++ shared module copy the shared library rule by default
  50. IF(NOT CMAKE_CXX_CREATE_SHARED_MODULE)
  51. SET(CMAKE_CXX_CREATE_SHARED_MODULE ${CMAKE_CXX_CREATE_SHARED_LIBRARY})
  52. ENDIF(NOT CMAKE_CXX_CREATE_SHARED_MODULE)
  53. # create a C shared library
  54. IF(NOT CMAKE_C_CREATE_SHARED_LIBRARY)
  55. SET(CMAKE_C_CREATE_SHARED_LIBRARY
  56. "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_C_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> <CMAKE_SHARED_LIBRARY_SONAME_C_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
  57. ENDIF(NOT CMAKE_C_CREATE_SHARED_LIBRARY)
  58. # create a C shared module just copy the shared library rule
  59. IF(NOT CMAKE_C_CREATE_SHARED_MODULE)
  60. SET(CMAKE_C_CREATE_SHARED_MODULE ${CMAKE_C_CREATE_SHARED_LIBRARY})
  61. ENDIF(NOT CMAKE_C_CREATE_SHARED_MODULE)
  62. # create a FORTRAN shared library
  63. IF(NOT CMAKE_FORTRAN_CREATE_SHARED_LIBRARY)
  64. SET(CMAKE_FORTRAN_CREATE_SHARED_LIBRARY
  65. "<CMAKE_FORTRAN_COMPILER> <CMAKE_SHARED_LIBRARY_FORTRAN_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_FORTRAN_FLAGS> <CMAKE_SHARED_LIBRARY_SONAME_FORTRAN_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
  66. ENDIF(NOT CMAKE_FORTRAN_CREATE_SHARED_LIBRARY)
  67. # create a FORTRAN shared module just copy the shared library rule
  68. IF(NOT CMAKE_FORTRAN_CREATE_SHARED_MODULE)
  69. SET(CMAKE_FORTRAN_CREATE_SHARED_MODULE ${CMAKE_FORTRAN_CREATE_SHARED_LIBRARY})
  70. ENDIF(NOT CMAKE_FORTRAN_CREATE_SHARED_MODULE)
  71. # create a C++ static library
  72. IF(NOT CMAKE_CXX_CREATE_STATIC_LIBRARY)
  73. SET(CMAKE_CXX_CREATE_STATIC_LIBRARY
  74. "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> "
  75. "<CMAKE_RANLIB> <TARGET> ")
  76. ENDIF(NOT CMAKE_CXX_CREATE_STATIC_LIBRARY)
  77. # create a C static library
  78. IF(NOT CMAKE_C_CREATE_STATIC_LIBRARY)
  79. SET(CMAKE_C_CREATE_STATIC_LIBRARY
  80. "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> "
  81. "<CMAKE_RANLIB> <TARGET> ")
  82. ENDIF(NOT CMAKE_C_CREATE_STATIC_LIBRARY)
  83. # create a Fortran static library
  84. IF(NOT CMAKE_FORTRAN_CREATE_STATIC_LIBRARY)
  85. SET(CMAKE_FORTRAN_CREATE_STATIC_LIBRARY
  86. "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> "
  87. "<CMAKE_RANLIB> <TARGET> ")
  88. ENDIF(NOT CMAKE_FORTRAN_CREATE_STATIC_LIBRARY)
  89. # compile a C++ file into an object file
  90. IF(NOT CMAKE_CXX_COMPILE_OBJECT)
  91. SET(CMAKE_CXX_COMPILE_OBJECT
  92. "<CMAKE_CXX_COMPILER> -o <OBJECT> <FLAGS> -c <SOURCE>")
  93. ENDIF(NOT CMAKE_CXX_COMPILE_OBJECT)
  94. # compile a C file into an object file
  95. IF(NOT CMAKE_C_COMPILE_OBJECT)
  96. SET(CMAKE_C_COMPILE_OBJECT
  97. "<CMAKE_C_COMPILER> -o <OBJECT> <FLAGS> -c <SOURCE>")
  98. ENDIF(NOT CMAKE_C_COMPILE_OBJECT)
  99. # compile a Fortran file into an object file
  100. IF(NOT CMAKE_FORTRAN_COMPILE_OBJECT)
  101. SET(CMAKE_FORTRAN_COMPILE_OBJECT
  102. "<CMAKE_FORTRAN_COMPILER> -o <OBJECT> <FLAGS> -c <SOURCE>")
  103. ENDIF(NOT CMAKE_FORTRAN_COMPILE_OBJECT)
  104. IF(NOT CMAKE_C_LINK_EXECUTABLE)
  105. SET(CMAKE_C_LINK_EXECUTABLE
  106. "<CMAKE_C_COMPILER> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
  107. ENDIF(NOT CMAKE_C_LINK_EXECUTABLE)
  108. IF(NOT CMAKE_FORTRAN_LINK_EXECUTABLE)
  109. SET(CMAKE_FORTRAN_LINK_EXECUTABLE
  110. "<CMAKE_FORTRAN_COMPILER> <CMAKE_FORTRAN_LINK_FLAGS> <LINK_FLAGS> <FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
  111. ENDIF(NOT CMAKE_FORTRAN_LINK_EXECUTABLE)
  112. IF(NOT CMAKE_CXX_LINK_EXECUTABLE)
  113. SET(CMAKE_CXX_LINK_EXECUTABLE
  114. "<CMAKE_CXX_COMPILER> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
  115. ENDIF(NOT CMAKE_CXX_LINK_EXECUTABLE)