diff options
Diffstat (limited to 'Modules/CMakeDefaultMakeRuleVariables.cmake')
-rw-r--r-- | Modules/CMakeDefaultMakeRuleVariables.cmake | 73 |
1 files changed, 52 insertions, 21 deletions
diff --git a/Modules/CMakeDefaultMakeRuleVariables.cmake b/Modules/CMakeDefaultMakeRuleVariables.cmake index d0134fc..811ca01 100644 --- a/Modules/CMakeDefaultMakeRuleVariables.cmake +++ b/Modules/CMakeDefaultMakeRuleVariables.cmake @@ -2,68 +2,99 @@ # do things like build a .o file, create a shared or static library # -# create a shared C++ librar +# this file defines the following rule variables +# CMAKE_CXX_CREATE_SHARED_LIBRARY +# CMAKE_CXX_CREATE_SHARED_MODULE +# CMAKE_C_CREATE_SHARED_LIBRARY +# CMAKE_C_CREATE_SHARED_MODULE +# CMAKE_CXX_CREATE_STATIC_LIBRARY +# CMAKE_C_CREATE_STATIC_LIBRARY +# CMAKE_CXX_COMPILE_OBJECT +# CMAKE_C_COMPILE_OBJECT +# CMAKE_C_LINK_EXECUTABLE +# CMAKE_CXX_LINK_EXECUTABLE + +# variables supplied by the generator at use time +# <TARGET> +# <OBJECTS> +# <OBJECT> +# <LINK_LIBRARIES> + +# CXX compiler information +# <CMAKE_CXX_COMPILER> +# <CMAKE_CXX_COMPILE_FLAGS> +# <CMAKE_CXX_SHARED_LIBRARY_CREATE_FLAGS> +# <CMAKE_CXX_SHARED_MODULE_CREATE_FLAGS> +# <CMAKE_CXX_LINK_FLAGS> + +# C compiler information +# <CMAKE_C_COMPILER> +# <CMAKE_C_COMPILE_FLAGS> +# <CMAKE_C_SHARED_LIBRARY_CREATE_FLAGS> +# <CMAKE_C_SHARED_MODULE_CREATE_FLAGS> +# <CMAKE_C_LINK_FLAGS> + +# Static library tools +# <CMAKE_AR> +# <CMAKE_RANLIB> + + +# create a shared C++ library IF(NOT CMAKE_CXX_CREATE_SHARED_LIBRARY) SET(CMAKE_CXX_CREATE_SHARED_LIBRARY - "${CMAKE_CXX_COMPILER} ${CMAKE_SHARED_LIBRARY_CREATE_FLAGS} " - "${CMAKE_CXX_LINK_SHARED_OUT_FLAG} <TARGET> <OBJECTS>") + "<CMAKE_CXX_COMPILER> <CMAKE_CXX_SHARED_LIBRARY_CREATE_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>") ENDIF(NOT CMAKE_CXX_CREATE_SHARED_LIBRARY) -# create a c++ shared module +# create a c++ shared module copy the shared library rule by default IF(NOT CMAKE_CXX_CREATE_SHARED_MODULE) - SET(CMAKE_CXX_CREATE_SHARED_MODULE - "${CMAKE_CXX_COMPILER} ${CMAKE_SHARED_MODULE_CREATE_FLAGS} " - "${CMAKE_CXX_LINK_SHARED_OUT_FLAG} <TARGET> <OBJECTS>") + SET(CMAKE_CXX_CREATE_SHARED_MODULE ${CMAKE_CXX_CREATE_SHARED_LIBRARY}) ENDIF(NOT CMAKE_CXX_CREATE_SHARED_MODULE) # create a C shared library IF(NOT CMAKE_C_CREATE_SHARED_LIBRARY) SET(CMAKE_C_CREATE_SHARED_LIBRARY - "${CMAKE_C_COMPILER} ${CMAKE_SHARED_LIBRARY_CREATE_FLAGS} " - "${CMAKE_C_LINK_SHARED_OUT_FLAG} <TARGET> <OBJECTS>") + "<CMAKE_C_COMPILER> <CMAKE_C_SHARED_LIBRARY_CREATE_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>") ENDIF(NOT CMAKE_C_CREATE_SHARED_LIBRARY) -# create a C shared module +# create a C shared module just copy the shared library rule IF(NOT CMAKE_C_CREATE_SHARED_MODULE) - SET(CMAKE_C_CREATE_SHARED_MODULE - "${CMAKE_C_COMPILER} ${CMAKE_SHARED_MODULE_CREATE_FLAGS} " - "${CMAKE_C_LINK_SHARED_OUT_FLAG} <TARGET> <OBJECTS>") + SET(CMAKE_C_CREATE_SHARED_MODULE ${CMAKE_C_CREATE_SHARED_LIBRARY}) ENDIF(NOT CMAKE_C_CREATE_SHARED_MODULE) # create a C++ static library IF(NOT CMAKE_CXX_CREATE_STATIC_LIBRARY) SET(CMAKE_CXX_CREATE_STATIC_LIBRARY - "${CMAKE_CXX_AR} cr <TARGET> <OBJECTS> " - "${CMAKE_RANLIB} <TARGET> ") + "<CMAKE_AR> cr <TARGET> <OBJECTS> " + "<CMAKE_RANLIB> <TARGET> ") ENDIF(NOT CMAKE_CXX_CREATE_STATIC_LIBRARY) # create a C static library IF(NOT CMAKE_C_CREATE_STATIC_LIBRARY) SET(CMAKE_C_CREATE_STATIC_LIBRARY - "${CMAKE_AR} cr <TARGET> <OBJECTS> " - "${CMAKE_RANLIB} <TARGET> ") + "<CMAKE_AR> cr <TARGET> <OBJECTS> " + "<CMAKE_RANLIB> <TARGET> ") ENDIF(NOT CMAKE_C_CREATE_STATIC_LIBRARY) # compile a C++ file into an object file IF(NOT CMAKE_CXX_COMPILE_OBJECT) SET(CMAKE_CXX_COMPILE_OBJECT - "${CMAKE_CXX_COMPILER} -o <OBJECT> <INCLUDE_FLAGS> <SHARED_FLAGS> ${CMAKE_CXX_FLAGS} -c <SOURCE>") + "<CMAKE_CXX_COMPILER> -o <OBJECT> <CMAKE_CXX_COMPILE_FLAGS> -c <SOURCE>") ENDIF(NOT CMAKE_CXX_COMPILE_OBJECT) # compile a C file into an object file IF(NOT CMAKE_C_COMPILE_OBJECT) SET(CMAKE_C_COMPILE_OBJECT - "${CMAKE_C_COMPILER} -o <OBJECT> <INCLUDE_FLAGS> <SHARED_FLAGS> ${CMAKE_C_FLAGS} -c <SOURCE>") + "<CMAKE_C_COMPILER> -o <OBJECT> <CMAKE_C_COMPILE_FLAGS> -c <SOURCE>") ENDIF(NOT CMAKE_C_COMPILE_OBJECT) IF(NOT CMAKE_C_LINK_EXECUTABLE) SET(CMAKE_C_LINK_EXECUTABLE - "${CMAKE_C_COMPILER} <SHARED_FLAGS> <OBJECTS> -o <TARGET> ") + "<CMAKE_C_COMPILER> <CMAKE_C_LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>") ENDIF(NOT CMAKE_C_LINK_EXECUTABLE) IF(NOT CMAKE_CXX_LINK_EXECUTABLE) SET(CMAKE_CXX_LINK_EXECUTABLE - "${CMAKE_CXX_COMPILER} <SHARED_FLAGS> <OBJECTS> -o <TARGET> ") + "<CMAKE_CXX_COMPILER> <CMAKE_CXX_LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>") ENDIF(NOT CMAKE_CXX_LINK_EXECUTABLE) |