From 319c3adf2adcb8a5a89c615fff760fed9b2d7e12 Mon Sep 17 00:00:00 2001 From: Bill Hoffman Date: Fri, 25 Oct 2002 14:08:17 -0400 Subject: *** empty log message *** --- Modules/CMakeDefaultMakeRuleVariables.cmake | 73 ++++++++++++++++++++-------- Modules/CMakeDetermineCCompiler.cmake | 2 +- Modules/CMakeDetermineCXXCompiler.cmake | 5 +- Modules/CMakeDetermineSystem.cmake | 3 +- Modules/CMakeSystemSpecificInformation.cmake | 6 ++- 5 files changed, 62 insertions(+), 27 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 +# +# +# +# + +# CXX compiler information +# +# +# +# +# + +# C compiler information +# +# +# +# +# + +# Static library tools +# +# + + +# 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} ") + " -o ") 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} ") + 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} ") + " -o ") 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} ") + 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 " - "${CMAKE_RANLIB} ") + " cr " + " ") 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 " - "${CMAKE_RANLIB} ") + " cr " + " ") 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 ${CMAKE_CXX_FLAGS} -c ") + " -o -c ") 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 ${CMAKE_C_FLAGS} -c ") + " -o -c ") ENDIF(NOT CMAKE_C_COMPILE_OBJECT) IF(NOT CMAKE_C_LINK_EXECUTABLE) SET(CMAKE_C_LINK_EXECUTABLE - "${CMAKE_C_COMPILER} -o ") + " -o ") ENDIF(NOT CMAKE_C_LINK_EXECUTABLE) IF(NOT CMAKE_CXX_LINK_EXECUTABLE) SET(CMAKE_CXX_LINK_EXECUTABLE - "${CMAKE_CXX_COMPILER} -o ") + " -o ") ENDIF(NOT CMAKE_CXX_LINK_EXECUTABLE) diff --git a/Modules/CMakeDetermineCCompiler.cmake b/Modules/CMakeDetermineCCompiler.cmake index 7f793d3..032aa49 100644 --- a/Modules/CMakeDetermineCCompiler.cmake +++ b/Modules/CMakeDetermineCCompiler.cmake @@ -13,12 +13,12 @@ ENDIF(NOT CMAKE_RANLIB) # test to see if the c compiler is gnu EXEC_PROGRAM(${CMAKE_C_COMPILER} ARGS -E ${CMAKE_ROOT}/Modules/CMakeTestGNU.c OUTPUT_VARIABLE CMAKE_COMPILER_OUTPUT RETURN_VALUE CMAKE_COMPILER_RETURN) - IF(NOT CMAKE_COMPILER_RETURN) IF(${CMAKE_COMPILER_OUTPUT} MATCHES ".*THIS_IS_GNU.*" ) SET(CMAKE_COMPILER_IS_GNUGCC 1) ENDIF(${CMAKE_COMPILER_OUTPUT} MATCHES ".*THIS_IS_GNU.*" ) ENDIF(NOT CMAKE_COMPILER_RETURN) +# configure variables set in this file for fast reload later on CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CMakeCCompiler.cmake.in ${PROJECT_BINARY_DIR}/CMakeCCompiler.cmake) diff --git a/Modules/CMakeDetermineCXXCompiler.cmake b/Modules/CMakeDetermineCXXCompiler.cmake index 2f0a029..373d866 100644 --- a/Modules/CMakeDetermineCXXCompiler.cmake +++ b/Modules/CMakeDetermineCXXCompiler.cmake @@ -7,11 +7,12 @@ GET_FILENAME_COMPONENT(CMAKE_CXX_COMPILER ${CMAKE_CXX_COMPILER_FULLPATH} NAME_WE # test to see if the cxx compiler is gnu EXEC_PROGRAM(${CMAKE_CXX_COMPILER} ARGS -E ${CMAKE_ROOT}/Modules/CMakeTestGNU.c OUTPUT_VARIABLE CMAKE_COMPILER_OUTPUT RETURN_VALUE CMAKE_COMPILER_RETURN) - IF(NOT CMAKE_COMPILER_RETURN) IF(${CMAKE_COMPILER_OUTPUT} MATCHES ".*THIS_IS_GNU.*" ) SET(CMAKE_COMPILER_IS_GNUGXX 1) ENDIF(${CMAKE_COMPILER_OUTPUT} MATCHES ".*THIS_IS_GNU.*" ) ENDIF(NOT CMAKE_COMPILER_RETURN) -SET(CMAKE_CXX_AR ${CMAKE_AR}) +# configure all variables set in this file +CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CMakeCXXCompiler.cmake.in + ${PROJECT_BINARY_DIR}/CMakeCXXCompiler.cmake) diff --git a/Modules/CMakeDetermineSystem.cmake b/Modules/CMakeDetermineSystem.cmake index c169daf..addbe47 100644 --- a/Modules/CMakeDetermineSystem.cmake +++ b/Modules/CMakeDetermineSystem.cmake @@ -59,6 +59,7 @@ SET(CMAKE_SYSTEM ${CMAKE_SYSTEM_NAME}) IF(CMAKE_SYSTEM_VERSION) SET(CMAKE_SYSTEM ${CMAKE_SYSTEM}-${CMAKE_SYSTEM_VERSION}) ENDIF(CMAKE_SYSTEM_VERSION) -MESSAGE(${PROJECT_BIN_DIR}/CMakeSystem.cmake) + +# configure variables set in this file for fast reload CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CMakeSystem.cmake.in ${PROJECT_BINARY_DIR}/CMakeSystem.cmake) diff --git a/Modules/CMakeSystemSpecificInformation.cmake b/Modules/CMakeSystemSpecificInformation.cmake index 12203fb..101af54 100644 --- a/Modules/CMakeSystemSpecificInformation.cmake +++ b/Modules/CMakeSystemSpecificInformation.cmake @@ -49,7 +49,8 @@ IF(CMAKE_C_COMPILER) IF(CMAKE_COMPILER_IS_GNUGCC) SET(CMAKE_BASE_NAME gcc) ENDIF(CMAKE_COMPILER_IS_GNUGCC) - SET(CMAKE_SYSTEM_AND_C_COMPILER_INFO_FILE ${CMAKE_ROOT}/Modules/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}.cmake) + SET(CMAKE_SYSTEM_AND_C_COMPILER_INFO_FILE + ${CMAKE_ROOT}/Modules/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}.cmake) INCLUDE(${CMAKE_SYSTEM_AND_C_COMPILER_INFO_FILE} OPTIONAL) ENDIF(CMAKE_C_COMPILER) IF(CMAKE_CXX_COMPILER) @@ -58,7 +59,8 @@ IF(CMAKE_CXX_COMPILER) IF(CMAKE_COMPILER_IS_GNUGXX) SET(CMAKE_BASE_NAME g++) ENDIF(CMAKE_COMPILER_IS_GNUGXX) - SET(CMAKE_SYSTEM_AND_CXX_COMPILER_INFO_FILE ${CMAKE_ROOT}/Modules/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}.cmake) + SET(CMAKE_SYSTEM_AND_CXX_COMPILER_INFO_FILE + ${CMAKE_ROOT}/Modules/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}.cmake) INCLUDE(${CMAKE_SYSTEM_AND_CXX_COMPILER_INFO_FILE} OPTIONAL) ENDIF(CMAKE_CXX_COMPILER) -- cgit v0.12