[cmake-commits] alex committed CMakeCCompiler.cmake.in 1.14.2.1
1.14.2.2 CMakeCCompilerId.c 1.2 1.2.2.1 CMakeCInformation.cmake
1.10.6.1 1.10.6.2 CMakeCXXCompiler.cmake.in 1.13.2.1 1.13.2.2
CMakeCXXCompilerId.cpp 1.3 1.3.2.1 CMakeCXXInformation.cmake
1.13.4.1 1.13.4.2 CMakeDetermineCCompiler.cmake 1.39.2.7
1.39.2.8 CMakeDetermineCXXCompiler.cmake 1.34.2.6 1.34.2.7
CMakeDetermineCompilerId.cmake 1.3 1.3.2.1
CMakeDetermineFortranCompiler.cmake 1.14.4.1 1.14.4.2
CMakeDetermineSystem.cmake 1.18.4.4 1.18.4.5
CMakeFindBinUtils.cmake 1.1.2.2 1.1.2.3
CMakeFortranCompiler.cmake.in 1.7 1.7.4.1
CMakeFortranInformation.cmake 1.13 1.13.4.1
CMakeGenericSystem.cmake 1.13.4.2 1.13.4.3
CMakeSystemSpecificInformation.cmake 1.36.4.2 1.36.4.3
CPack.cmake 1.26.4.2 1.26.4.3 CTest.cmake 1.7.4.1 1.7.4.2
Dart.cmake 1.69 1.69.4.1 DartConfiguration.tcl.in 1.6.10.1 1.6.10.2
cmake-commits at cmake.org
cmake-commits at cmake.org
Thu May 17 10:24:37 EDT 2007
Update of /cvsroot/CMake/CMake/Modules
In directory public:/mounts/ram/cvs-serv18561/Modules
Modified Files:
Tag: CMake-CrossCompileBasic
CMakeCCompiler.cmake.in CMakeCCompilerId.c
CMakeCInformation.cmake CMakeCXXCompiler.cmake.in
CMakeCXXCompilerId.cpp CMakeCXXInformation.cmake
CMakeDetermineCCompiler.cmake CMakeDetermineCXXCompiler.cmake
CMakeDetermineCompilerId.cmake
CMakeDetermineFortranCompiler.cmake CMakeDetermineSystem.cmake
CMakeFindBinUtils.cmake CMakeFortranCompiler.cmake.in
CMakeFortranInformation.cmake CMakeGenericSystem.cmake
CMakeSystemSpecificInformation.cmake CPack.cmake CTest.cmake
Dart.cmake DartConfiguration.tcl.in
Log Message:
ENH: merge changes from HEAD into the branch
-change INCLUDE(file [OPTIONAL] [VAR]) to INCLUDE(file [OPTIONAL] [RESULT_VARIABLE VAR])
-add tests for INCLUDE(), CMAKE_TOOLCHAIN_FILE and FIND_XXX()
-keep the stripping in CPack for now
-support a MS toolchain suffix
Alex
Index: CMakeDetermineSystem.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeDetermineSystem.cmake,v
retrieving revision 1.18.4.4
retrieving revision 1.18.4.5
diff -u -d -r1.18.4.4 -r1.18.4.5
--- CMakeDetermineSystem.cmake 11 May 2007 20:25:09 -0000 1.18.4.4
+++ CMakeDetermineSystem.cmake 17 May 2007 14:24:35 -0000 1.18.4.5
@@ -28,10 +28,10 @@
IF(CMAKE_TOOLCHAIN_FILE)
# at first try to load it as path relative to the directory from which cmake has been run
- INCLUDE("${CMAKE_BINARY_DIR}/${CMAKE_TOOLCHAIN_FILE}" OPTIONAL _INCLUDED_TOOLCHAIN_FILE)
+ INCLUDE("${CMAKE_BINARY_DIR}/${CMAKE_TOOLCHAIN_FILE}" OPTIONAL RESULT_VARIABLE _INCLUDED_TOOLCHAIN_FILE)
IF(NOT _INCLUDED_TOOLCHAIN_FILE)
# if the file isn't found there, check the default locations
- INCLUDE("${CMAKE_TOOLCHAIN_FILE}" OPTIONAL _INCLUDED_TOOLCHAIN_FILE)
+ INCLUDE("${CMAKE_TOOLCHAIN_FILE}" OPTIONAL RESULT_VARIABLE _INCLUDED_TOOLCHAIN_FILE)
ENDIF(NOT _INCLUDED_TOOLCHAIN_FILE)
IF(_INCLUDED_TOOLCHAIN_FILE)
Index: CMakeCCompilerId.c
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeCCompilerId.c,v
retrieving revision 1.2
retrieving revision 1.2.2.1
diff -u -d -r1.2 -r1.2.2.1
--- CMakeCCompilerId.c 28 Apr 2007 13:35:01 -0000 1.2
+++ CMakeCCompilerId.c 17 May 2007 14:24:35 -0000 1.2.2.1
@@ -22,7 +22,7 @@
#elif defined(__IBMC__)
"VisualAge"
#elif defined(__GNUC__)
-"GNUC"
+"GNU"
#elif defined(_MSC_VER)
"MSVC"
#elif defined(_COMPILER_VERSION)
Index: CMakeDetermineCXXCompiler.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeDetermineCXXCompiler.cmake,v
retrieving revision 1.34.2.6
retrieving revision 1.34.2.7
diff -u -d -r1.34.2.6 -r1.34.2.7
--- CMakeDetermineCXXCompiler.cmake 15 May 2007 17:30:38 -0000 1.34.2.6
+++ CMakeDetermineCXXCompiler.cmake 17 May 2007 14:24:35 -0000 1.34.2.7
@@ -5,11 +5,11 @@
# use environment variable CXX first if defined by user, next use
# the cmake variable CMAKE_GENERATOR_CXX which can be defined by a generator
# as a default compiler
-# If the cmake variable CMAKE_TOOLCHAIN_PREFIX is set, this is used as
-# prefix for the tools (e.g. arm-elf-g++ etc.)
-# If the cmake variable CMAKE_TOOLCHAIN_LOCATION is set, the compiler is
-# searched only there. The other tools are at first searched there, then
-# also in the default locations.
+# If the internal cmake variable _CMAKE_TOOLCHAIN_PREFIX is set, this is used
+# as prefix for the tools (e.g. arm-elf-g++, arm-elf-ar etc.)
+# It also tries to detect a MS crosscompiler and find out its
+# suffix (clarm.exe), which will be stored in _CMAKE_TOOLCHAIN_SUFFIX and
+# reused for the C compiler.
#
# Sets the following variables:
# CMAKE_CXX_COMPILER
@@ -18,8 +18,8 @@
# CMAKE_RANLIB
#
# If not already set before, it also sets
-# CMAKE_TOOLCHAIN_PREFIX
-# CMAKE_TOOLCHAIN_LOCATION
+# _CMAKE_TOOLCHAIN_PREFIX
+# _CMAKE_TOOLCHAIN_SUFFIX
IF(NOT CMAKE_CXX_COMPILER)
SET(CMAKE_CXX_COMPILER_INIT NOTFOUND)
@@ -46,15 +46,14 @@
IF(CMAKE_CXX_COMPILER_INIT)
SET(CMAKE_CXX_COMPILER_LIST ${CMAKE_CXX_COMPILER_INIT})
ELSE(CMAKE_CXX_COMPILER_INIT)
- SET(CMAKE_CXX_COMPILER_LIST ${CMAKE_TOOLCHAIN_PREFIX}g++ ${CMAKE_TOOLCHAIN_PREFIX}c++ CC aCC cl bcc xlC)
+ SET(CMAKE_CXX_COMPILER_LIST ${_CMAKE_TOOLCHAIN_PREFIX}c++ ${_CMAKE_TOOLCHAIN_PREFIX}g++ CC aCC cl${_CMAKE_TOOLCHAIN_SUFFIX} bcc xlC)
ENDIF(CMAKE_CXX_COMPILER_INIT)
# Find the compiler.
- IF (CMAKE_TOOLCHAIN_LOCATION)
- FIND_PROGRAM(CMAKE_CXX_COMPILER NAMES ${CMAKE_CXX_COMPILER_LIST} PATHS ${CMAKE_TOOLCHAIN_LOCATION} DOC "C++ compiler" NO_DEFAULT_PATH)
- ELSE (CMAKE_TOOLCHAIN_LOCATION)
- FIND_PROGRAM(CMAKE_CXX_COMPILER NAMES ${CMAKE_CXX_COMPILER_LIST} DOC "C++ compiler")
- ENDIF (CMAKE_TOOLCHAIN_LOCATION)
+ IF (_CMAKE_USER_C_COMPILER_PATH)
+ FIND_PROGRAM(CMAKE_CXX_COMPILER NAMES ${CMAKE_CXX_COMPILER_LIST} PATHS ${_CMAKE_USER_C_COMPILER_PATH} DOC "C++ compiler" NO_DEFAULT_PATH)
+ ENDIF (_CMAKE_USER_C_COMPILER_PATH)
+ FIND_PROGRAM(CMAKE_CXX_COMPILER NAMES ${CMAKE_CXX_COMPILER_LIST} DOC "C++ compiler")
IF(CMAKE_CXX_COMPILER_INIT AND NOT CMAKE_CXX_COMPILER)
SET(CMAKE_CXX_COMPILER "${CMAKE_CXX_COMPILER_INIT}" CACHE FILEPATH "C++ compiler" FORCE)
@@ -63,28 +62,38 @@
# if a compiler was specified by the user but without path,
# now try to find it with the full path and force it into the cache
- GET_FILENAME_COMPONENT(CMAKE_CXX_COMPILER_PATH "${CMAKE_CXX_COMPILER}" PATH)
- IF(NOT CMAKE_CXX_COMPILER_PATH)
+ GET_FILENAME_COMPONENT(_CMAKE_USER_CXX_COMPILER_PATH "${CMAKE_CXX_COMPILER}" PATH)
+ IF(NOT _CMAKE_USER_CXX_COMPILER_PATH)
FIND_PROGRAM(CMAKE_CXX_COMPILER_WITH_PATH NAMES ${CMAKE_CXX_COMPILER})
MARK_AS_ADVANCED(CMAKE_CXX_COMPILER_WITH_PATH)
SET(CMAKE_CXX_COMPILER ${CMAKE_CXX_COMPILER_WITH_PATH} CACHE FILEPATH "CXX compiler" FORCE)
- ENDIF(NOT CMAKE_CXX_COMPILER_PATH)
+ ENDIF(NOT _CMAKE_USER_CXX_COMPILER_PATH)
ENDIF(NOT CMAKE_CXX_COMPILER)
MARK_AS_ADVANCED(CMAKE_CXX_COMPILER)
-IF (NOT CMAKE_TOOLCHAIN_LOCATION)
- GET_FILENAME_COMPONENT(CMAKE_TOOLCHAIN_LOCATION "${CMAKE_CXX_COMPILER}" PATH)
-ENDIF (NOT CMAKE_TOOLCHAIN_LOCATION)
+IF (NOT _CMAKE_TOOLCHAIN_LOCATION)
+ GET_FILENAME_COMPONENT(_CMAKE_TOOLCHAIN_LOCATION "${CMAKE_CXX_COMPILER}" PATH)
+ENDIF (NOT _CMAKE_TOOLCHAIN_LOCATION)
# if we have a g++ cross compiler, they have usually some prefix, like
# e.g. powerpc-linux-g++, arm-elf-g++ or i586-mingw32msvc-g++
# the other tools of the toolchain usually have the same prefix
-IF (NOT CMAKE_TOOLCHAIN_PREFIX)
+IF (NOT _CMAKE_TOOLCHAIN_PREFIX)
GET_FILENAME_COMPONENT(COMPILER_BASENAME "${CMAKE_CXX_COMPILER}" NAME_WE)
IF (COMPILER_BASENAME MATCHES "^(.+-)[gc]\\+\\+")
- STRING(REGEX REPLACE "^(.+-)[gc]\\+\\+" "\\1" CMAKE_TOOLCHAIN_PREFIX "${COMPILER_BASENAME}")
+ STRING(REGEX REPLACE "^(.+-)[gc]\\+\\+" "\\1" _CMAKE_TOOLCHAIN_PREFIX "${COMPILER_BASENAME}")
ENDIF (COMPILER_BASENAME MATCHES "^(.+-)[gc]\\+\\+")
-ENDIF (NOT CMAKE_TOOLCHAIN_PREFIX)
+ENDIF (NOT _CMAKE_TOOLCHAIN_PREFIX)
+
+# if we have a MS cross compiler, it usually has a suffix, like
+# e.g. clarm.exe or clmips.exe. Use this suffix for the CXX compiler too.
+IF (NOT _CMAKE_TOOLCHAIN_SUFFIX)
+ GET_FILENAME_COMPONENT(COMPILER_BASENAME "${CMAKE_CXX_COMPILER}" NAME)
+ IF (COMPILER_BASENAME MATCHES "^cl(.+)\\.exe$")
+ STRING(REGEX REPLACE "^cl(.+)\\.exe$" "\\1" _CMAKE_TOOLCHAIN_SUFFIX "${COMPILER_BASENAME}")
+ ENDIF (COMPILER_BASENAME MATCHES "^cl(.+)\\.exe$")
+ENDIF (NOT _CMAKE_TOOLCHAIN_SUFFIX)
+
# some exotic compilers have different extensions (e.g. sdcc uses .rel)
# so don't overwrite it if it has been already defined by the user
@@ -124,7 +133,7 @@
# Try to identify the compiler.
SET(CMAKE_CXX_COMPILER_ID)
INCLUDE(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerId.cmake)
- CMAKE_DETERMINE_COMPILER_ID(CXX ${CMAKE_ROOT}/Modules/CMakeCXXCompilerId.cpp)
+ CMAKE_DETERMINE_COMPILER_ID(CXX CXXFLAGS ${CMAKE_ROOT}/Modules/CMakeCXXCompilerId.cpp)
# Set old compiler and platform id variables.
IF("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
Index: CMakeCInformation.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeCInformation.cmake,v
retrieving revision 1.10.6.1
retrieving revision 1.10.6.2
diff -u -d -r1.10.6.1 -r1.10.6.2
--- CMakeCInformation.cmake 1 May 2007 17:07:21 -0000 1.10.6.1
+++ CMakeCInformation.cmake 17 May 2007 14:24:35 -0000 1.10.6.2
@@ -8,6 +8,11 @@
IF(CMAKE_COMPILER_IS_GNUCC)
SET(CMAKE_BASE_NAME gcc)
ENDIF(CMAKE_COMPILER_IS_GNUCC)
+ IF(CMAKE_C_COMPILER_ID)
+ IF(EXISTS ${CMAKE_ROOT}/Modules/Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_C_COMPILER_ID}-C.cmake)
+ SET(CMAKE_BASE_NAME ${CMAKE_C_COMPILER_ID}-C)
+ ENDIF(EXISTS ${CMAKE_ROOT}/Modules/Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_C_COMPILER_ID}-C.cmake)
+ ENDIF(CMAKE_C_COMPILER_ID)
SET(CMAKE_SYSTEM_AND_C_COMPILER_INFO_FILE
${CMAKE_ROOT}/Modules/Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}.cmake)
ENDIF(NOT CMAKE_SYSTEM_AND_C_COMPILER_INFO_FILE)
Index: CMakeFortranInformation.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeFortranInformation.cmake,v
retrieving revision 1.13
retrieving revision 1.13.4.1
diff -u -d -r1.13 -r1.13.4.1
--- CMakeFortranInformation.cmake 15 Sep 2006 18:02:41 -0000 1.13
+++ CMakeFortranInformation.cmake 17 May 2007 14:24:35 -0000 1.13.4.1
@@ -8,6 +8,11 @@
IF(CMAKE_COMPILER_IS_GNUG77)
SET(CMAKE_BASE_NAME g77)
ENDIF(CMAKE_COMPILER_IS_GNUG77)
+IF(CMAKE_Fortran_COMPILER_ID)
+ IF(EXISTS ${CMAKE_ROOT}/Modules/Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_Fortran_COMPILER_ID}-Fortran.cmake)
+ SET(CMAKE_BASE_NAME ${CMAKE_Fortran_COMPILER_ID}-Fortran)
+ ENDIF(EXISTS ${CMAKE_ROOT}/Modules/Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_Fortran_COMPILER_ID}-Fortran.cmake)
+ENDIF(CMAKE_Fortran_COMPILER_ID)
SET(CMAKE_SYSTEM_AND_Fortran_COMPILER_INFO_FILE
${CMAKE_ROOT}/Modules/Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}.cmake)
INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL)
@@ -42,9 +47,9 @@
SET(CMAKE_SHARED_LIBRARY_Fortran_FLAGS ${CMAKE_SHARED_LIBRARY_C_FLAGS})
ENDIF(NOT CMAKE_SHARED_LIBRARY_Fortran_FLAGS)
-IF(NOT CMAKE_SHARED_LIBRARY_LINK_Fortran_FLAGS)
+IF(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_Fortran_FLAGS)
SET(CMAKE_SHARED_LIBRARY_LINK_Fortran_FLAGS ${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS})
-ENDIF(NOT CMAKE_SHARED_LIBRARY_LINK_Fortran_FLAGS)
+ENDIF(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_Fortran_FLAGS)
IF(NOT CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG)
SET(CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG})
Index: CMakeGenericSystem.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeGenericSystem.cmake,v
retrieving revision 1.13.4.2
retrieving revision 1.13.4.3
diff -u -d -r1.13.4.2 -r1.13.4.3
--- CMakeGenericSystem.cmake 15 May 2007 17:30:38 -0000 1.13.4.2
+++ CMakeGenericSystem.cmake 17 May 2007 14:24:35 -0000 1.13.4.3
@@ -73,11 +73,6 @@
CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
ENDIF(UNIX)
-IF(CMAKE_STRIP)
- SET(CMAKE_INSTALL_DO_STRIP FALSE CACHE BOOL "If set to true, executables and libraries will be stripped when installing.")
- MARK_AS_ADVANCED(CMAKE_INSTALL_DO_STRIP)
-ENDIF(CMAKE_STRIP)
-
MARK_AS_ADVANCED(
CMAKE_SKIP_RPATH
CMAKE_VERBOSE_MAKEFILE
Index: Dart.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/Dart.cmake,v
retrieving revision 1.69
retrieving revision 1.69.4.1
diff -u -d -r1.69 -r1.69.4.1
--- Dart.cmake 10 Apr 2007 18:54:48 -0000 1.69
+++ Dart.cmake 17 May 2007 14:24:35 -0000 1.69.4.1
@@ -1,8 +1,18 @@
-# - setup for using Dart.
+# - Configure a project for testing with CTest or old Dart Tcl Client
+# This file is the backwards-compatibility version of the CTest module.
+# It supports using the old Dart 1 Tcl client for driving dashboard
+# submissions as well as testing with CTest. This module should be included
+# in the CMakeLists.txt file at the top of a project. Typical usage:
+# INCLUDE(Dart)
+# IF(BUILD_TESTING)
+# # ... testing related CMake code ...
+# ENDIF(BUILD_TESTING)
+# The BUILD_TESTING option is created by the Dart module to determine
+# whether testing support should be enabled. The default is ON.
+
# This file configures a project to use the Dart testing/dashboard process.
# It is broken into 3 sections.
-
-#
+#
# Section #1: Locate programs on the client and determine site and build name
# Section #2: Configure or copy Tcl scripts from the source tree to build tree
# Section #3: Custom targets for performing dashboard builds.
Index: CPack.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CPack.cmake,v
retrieving revision 1.26.4.2
retrieving revision 1.26.4.3
diff -u -d -r1.26.4.2 -r1.26.4.3
--- CPack.cmake 14 May 2007 20:28:07 -0000 1.26.4.2
+++ CPack.cmake 17 May 2007 14:24:35 -0000 1.26.4.3
@@ -56,8 +56,6 @@
cpack_set_if_not_set(CPACK_RESOURCE_FILE_WELCOME
"${CMAKE_ROOT}/Templates/CPack.GenericWelcome.txt")
-cpack_set_if_not_set(CPACK_DO_STRIP "${CMAKE_INSTALL_DO_STRIP}")
-
cpack_set_if_not_set(CPACK_MODULE_PATH "${CMAKE_MODULE_PATH}")
IF(CPACK_NSIS_MODIFY_PATH)
Index: CMakeDetermineFortranCompiler.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeDetermineFortranCompiler.cmake,v
retrieving revision 1.14.4.1
retrieving revision 1.14.4.2
diff -u -d -r1.14.4.1 -r1.14.4.2
--- CMakeDetermineFortranCompiler.cmake 14 May 2007 15:07:59 -0000 1.14.4.1
+++ CMakeDetermineFortranCompiler.cmake 17 May 2007 14:24:35 -0000 1.14.4.2
@@ -66,43 +66,63 @@
MARK_AS_ADVANCED(CMAKE_Fortran_COMPILER)
-INCLUDE(CMakeFindBinUtils)
-
-# do not test for GNU if the generator is visual studio
+# Build a small source file to identify the compiler.
IF(${CMAKE_GENERATOR} MATCHES "Visual Studio")
- SET(CMAKE_COMPILER_IS_GNUG77_RUN 1)
-ENDIF(${CMAKE_GENERATOR} MATCHES "Visual Studio")
+ SET(CMAKE_Fortran_COMPILER_ID_RUN 1)
+ SET(CMAKE_Fortran_PLATFORM_ID "Windows")
-IF(NOT CMAKE_COMPILER_IS_GNUG77_RUN)
- # test to see if the Fortran compiler is gnu
-
- IF(CMAKE_Fortran_FLAGS)
- SET(CMAKE_BOOT_Fortran_FLAGS ${CMAKE_Fortran_FLAGS})
- ELSE(CMAKE_Fortran_FLAGS)
- SET(CMAKE_BOOT_Fortran_FLAGS $ENV{FFLAGS})
- ENDIF(CMAKE_Fortran_FLAGS)
- EXEC_PROGRAM(${CMAKE_Fortran_COMPILER} ARGS ${CMAKE_BOOT_Fortran_FLAGS} -E "\"${CMAKE_ROOT}/Modules/CMakeTestGNU.c\"" OUTPUT_VARIABLE CMAKE_COMPILER_OUTPUT RETURN_VALUE CMAKE_COMPILER_RETURN)
- SET(CMAKE_COMPILER_IS_GNUG77_RUN 1)
- IF(NOT CMAKE_COMPILER_RETURN)
- IF("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*THIS_IS_GNU.*" )
- SET(CMAKE_COMPILER_IS_GNUG77 1)
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
- "Determining if the Fortran compiler is GNU succeeded with "
- "the following output:\n${CMAKE_COMPILER_OUTPUT}\n\n")
- ELSE("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*THIS_IS_GNU.*" )
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
- "Determining if the Fortran compiler is GNU failed with "
- "the following output:\n${CMAKE_COMPILER_OUTPUT}\n\n")
- ENDIF("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*THIS_IS_GNU.*" )
- IF("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*THIS_IS_MINGW.*" )
- SET(CMAKE_COMPILER_IS_MINGW 1)
- ENDIF("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*THIS_IS_MINGW.*" )
- IF("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*THIS_IS_CYGWIN.*" )
- SET(CMAKE_COMPILER_IS_CYGWIN 1)
- ENDIF("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*THIS_IS_CYGWIN.*" )
- ENDIF(NOT CMAKE_COMPILER_RETURN)
-ENDIF(NOT CMAKE_COMPILER_IS_GNUG77_RUN)
+ # TODO: Set the compiler id. It is probably MSVC but
+ # the user may be using an integrated Intel compiler.
+ # SET(CMAKE_Fortran_COMPILER_ID "MSVC")
+ENDIF(${CMAKE_GENERATOR} MATCHES "Visual Studio")
+
+IF(NOT CMAKE_Fortran_COMPILER_ID_RUN)
+ SET(CMAKE_Fortran_COMPILER_ID_RUN 1)
+ # Try to identify the compiler.
+ SET(CMAKE_Fortran_COMPILER_ID)
+ INCLUDE(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerId.cmake)
+ CMAKE_DETERMINE_COMPILER_ID(Fortran FFLAGS ${CMAKE_ROOT}/Modules/CMakeFortranCompilerId.F90)
+
+ # Fall back to old is-GNU test.
+ IF(NOT CMAKE_Fortran_COMPILER_ID)
+ EXEC_PROGRAM(${CMAKE_Fortran_COMPILER}
+ ARGS ${CMAKE_Fortran_COMPILER_ID_FLAGS_LIST} -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_Fortran_COMPILER_ID "GNU")
+ FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ "Determining if the Fortran compiler is GNU succeeded with "
+ "the following output:\n${CMAKE_COMPILER_OUTPUT}\n\n")
+ ELSE("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*THIS_IS_GNU.*" )
+ FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ "Determining if the Fortran compiler is GNU failed with "
+ "the following output:\n${CMAKE_COMPILER_OUTPUT}\n\n")
+ ENDIF("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*THIS_IS_GNU.*" )
+ IF(NOT CMAKE_Fortran_PLATFORM_ID)
+ IF("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*THIS_IS_MINGW.*" )
+ SET(CMAKE_Fortran_PLATFORM_ID "MinGW")
+ ENDIF("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*THIS_IS_MINGW.*" )
+ IF("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*THIS_IS_CYGWIN.*" )
+ SET(CMAKE_Fortran_PLATFORM_ID "Cygwin")
+ ENDIF("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*THIS_IS_CYGWIN.*" )
+ ENDIF(NOT CMAKE_Fortran_PLATFORM_ID)
+ ENDIF(NOT CMAKE_COMPILER_RETURN)
+ ENDIF(NOT CMAKE_Fortran_COMPILER_ID)
+
+ # Set old compiler and platform id variables.
+ IF("${CMAKE_Fortran_COMPILER_ID}" MATCHES "GNU")
+ SET(CMAKE_COMPILER_IS_GNUG77 1)
+ ENDIF("${CMAKE_Fortran_COMPILER_ID}" MATCHES "GNU")
+ IF("${CMAKE_Fortran_PLATFORM_ID}" MATCHES "MinGW")
+ SET(CMAKE_COMPILER_IS_MINGW 1)
+ ELSEIF("${CMAKE_Fortran_PLATFORM_ID}" MATCHES "Cygwin")
+ SET(CMAKE_COMPILER_IS_CYGWIN 1)
+ ENDIF("${CMAKE_Fortran_PLATFORM_ID}" MATCHES "MinGW")
+ENDIF(NOT CMAKE_Fortran_COMPILER_ID_RUN)
+
+INCLUDE(CMakeFindBinUtils)
# configure variables set in this file for fast reload later on
CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CMakeFortranCompiler.cmake.in
Index: CMakeFindBinUtils.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/Attic/CMakeFindBinUtils.cmake,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -d -r1.1.2.2 -r1.1.2.3
--- CMakeFindBinUtils.cmake 15 May 2007 17:30:38 -0000 1.1.2.2
+++ CMakeFindBinUtils.cmake 17 May 2007 14:24:35 -0000 1.1.2.3
@@ -1,9 +1,9 @@
# search for additional tools required for C/C++ (and other languages ?)
#
-# If the cmake variable CMAKE_TOOLCHAIN_PREFIX is set, this is used as
-# prefix for the tools (e.g. arm-elf-gcc etc.)
-# If the cmake variable CMAKE_TOOLCHAIN_LOCATION is set, the compiler is
+# If the internal cmake variable _CMAKE_TOOLCHAIN_PREFIX is set, this is used
+# as prefix for the tools (e.g. arm-elf-gcc etc.)
+# If the cmake variable _CMAKE_TOOLCHAIN_LOCATION is set, the compiler is
# searched only there. The other tools are at first searched there, then
# also in the default locations.
#
@@ -16,34 +16,34 @@
# on UNIX, cygwin and mingw
IF(UNIX OR CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
- FIND_PROGRAM(CMAKE_AR NAMES ${CMAKE_TOOLCHAIN_PREFIX}ar PATHS ${CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
- FIND_PROGRAM(CMAKE_AR NAMES ${CMAKE_TOOLCHAIN_PREFIX}ar)
+ FIND_PROGRAM(CMAKE_AR NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ar PATHS ${_CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
+ FIND_PROGRAM(CMAKE_AR NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ar)
- FIND_PROGRAM(CMAKE_RANLIB NAMES ${CMAKE_TOOLCHAIN_PREFIX}ranlib ${CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
- FIND_PROGRAM(CMAKE_RANLIB NAMES ${CMAKE_TOOLCHAIN_PREFIX}ranlib)
+ FIND_PROGRAM(CMAKE_RANLIB NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ranlib ${_CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
+ FIND_PROGRAM(CMAKE_RANLIB NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ranlib)
IF(NOT CMAKE_RANLIB)
SET(CMAKE_RANLIB : CACHE INTERNAL "noop for ranlib")
ENDIF(NOT CMAKE_RANLIB)
- FIND_PROGRAM(CMAKE_STRIP NAMES ${CMAKE_TOOLCHAIN_PREFIX}strip PATHS ${CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
- FIND_PROGRAM(CMAKE_STRIP NAMES ${CMAKE_TOOLCHAIN_PREFIX}strip)
+ FIND_PROGRAM(CMAKE_STRIP NAMES ${_CMAKE_TOOLCHAIN_PREFIX}strip PATHS ${_CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
+ FIND_PROGRAM(CMAKE_STRIP NAMES ${_CMAKE_TOOLCHAIN_PREFIX}strip)
- FIND_PROGRAM(CMAKE_LINKER NAMES ${CMAKE_TOOLCHAIN_PREFIX}ld PATHS ${CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
- FIND_PROGRAM(CMAKE_LINKER NAMES ${CMAKE_TOOLCHAIN_PREFIX}ld)
+ FIND_PROGRAM(CMAKE_LINKER NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ld PATHS ${_CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
+ FIND_PROGRAM(CMAKE_LINKER NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ld)
MARK_AS_ADVANCED(CMAKE_AR CMAKE_RANLIB CMAKE_STRIP CMAKE_LINKER)
ENDIF(UNIX OR CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
IF(APPLE)
- FIND_PROGRAM(CMAKE_INSTALL_NAME_TOOL NAMES install_name_tool PATHS ${CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
+ FIND_PROGRAM(CMAKE_INSTALL_NAME_TOOL NAMES install_name_tool PATHS ${_CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
FIND_PROGRAM(CMAKE_INSTALL_NAME_TOOL NAMES install_name_tool)
MARK_AS_ADVANCED(CMAKE_INSTALL_NAME_TOOL)
ENDIF(APPLE)
IF("${CMAKE_CXX_COMPILER_ID}" MATCHES "MSVC" OR "${CMAKE_C_COMPILER_ID}" MATCHES "MSVC")
- FIND_PROGRAM(CMAKE_LINKER NAMES link PATHS ${CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
+ FIND_PROGRAM(CMAKE_LINKER NAMES link PATHS ${_CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
FIND_PROGRAM(CMAKE_LINKER NAMES link)
MARK_AS_ADVANCED(CMAKE_LINKER)
Index: CMakeSystemSpecificInformation.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeSystemSpecificInformation.cmake,v
retrieving revision 1.36.4.2
retrieving revision 1.36.4.3
diff -u -d -r1.36.4.2 -r1.36.4.3
--- CMakeSystemSpecificInformation.cmake 11 May 2007 17:06:55 -0000 1.36.4.2
+++ CMakeSystemSpecificInformation.cmake 17 May 2007 14:24:35 -0000 1.36.4.3
@@ -6,15 +6,12 @@
# include Generic system information
INCLUDE(CMakeGenericSystem)
-message(STATUS "****************** CMAKE_SYSTEM_NAME: ${CMAKE_SYSTEM_NAME}")
-message(STATUS "****************** CMAKE_SYSTEM_INFO_FILE: ${CMAKE_SYSTEM_INFO_FILE}")
-
# 2. now include SystemName.cmake file to set the system specific information
IF(NOT CMAKE_SYSTEM_INFO_FILE)
SET(CMAKE_SYSTEM_INFO_FILE Platform/${CMAKE_SYSTEM_NAME})
ENDIF(NOT CMAKE_SYSTEM_INFO_FILE)
-INCLUDE(${CMAKE_SYSTEM_INFO_FILE} OPTIONAL _INCLUDED_SYSTEM_INFO_FILE)
+INCLUDE(${CMAKE_SYSTEM_INFO_FILE} OPTIONAL RESULT_VARIABLE _INCLUDED_SYSTEM_INFO_FILE)
IF(NOT _INCLUDED_SYSTEM_INFO_FILE)
MESSAGE("System is unknown to cmake, create:\n${CMAKE_SYSTEM_INFO_FILE}"
Index: CMakeCCompiler.cmake.in
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeCCompiler.cmake.in,v
retrieving revision 1.14.2.1
retrieving revision 1.14.2.2
diff -u -d -r1.14.2.1 -r1.14.2.2
--- CMakeCCompiler.cmake.in 2 May 2007 15:56:44 -0000 1.14.2.1
+++ CMakeCCompiler.cmake.in 17 May 2007 14:24:35 -0000 1.14.2.2
@@ -22,7 +22,7 @@
SET(CMAKE_C_SOURCE_FILE_EXTENSIONS c)
SET(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
SET(CMAKE_C_LINKER_PREFERENCE None)
-SET(CMAKE_C_OUTPUT_EXTENSION ${CMAKE_C_OUTPUT_EXTENSION})
+SET(CMAKE_C_OUTPUT_EXTENSION @CMAKE_C_OUTPUT_EXTENSION@)
# save the size of void* in case where cache is removed
# and the this file is still around
Index: CMakeDetermineCompilerId.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeDetermineCompilerId.cmake,v
retrieving revision 1.3
retrieving revision 1.3.2.1
diff -u -d -r1.3 -r1.3.2.1
--- CMakeDetermineCompilerId.cmake 30 Apr 2007 21:05:32 -0000 1.3
+++ CMakeDetermineCompilerId.cmake 17 May 2007 14:24:35 -0000 1.3.2.1
@@ -3,7 +3,7 @@
# used internally by CMake and should not be included by user code.
# If successful, sets CMAKE_<lang>_COMPILER_ID and CMAKE_<lang>_PLATFORM_ID
-MACRO(CMAKE_DETERMINE_COMPILER_ID lang src)
+MACRO(CMAKE_DETERMINE_COMPILER_ID lang flagvar src)
# Store the compiler identification source file.
SET(CMAKE_${lang}_COMPILER_ID_SRC "${src}")
IF(WIN32 AND NOT CYGWIN)
@@ -18,7 +18,7 @@
IF(CMAKE_${lang}_FLAGS)
SET(CMAKE_${lang}_COMPILER_ID_FLAGS ${CMAKE_${lang}_FLAGS})
ELSE(CMAKE_${lang}_FLAGS)
- SET(CMAKE_${lang}_COMPILER_ID_FLAGS $ENV{${lang}FLAGS})
+ SET(CMAKE_${lang}_COMPILER_ID_FLAGS $ENV{${flagvar}})
ENDIF(CMAKE_${lang}_FLAGS)
# Create an empty directory in which to run the test.
@@ -81,13 +81,14 @@
FILE(STRINGS ${CMAKE_${lang}_COMPILER_ID_EXE}
CMAKE_${lang}_COMPILER_ID_STRINGS LIMIT_COUNT 2 REGEX "INFO:")
FOREACH(info ${CMAKE_${lang}_COMPILER_ID_STRINGS})
- IF("${info}" MATCHES ".*INFO:compiler\\[(.*)\\].*")
- STRING(REGEX REPLACE ".*INFO:compiler\\[(.*)\\].*" "\\1"
+ IF("${info}" MATCHES ".*INFO:compiler\\[([^]]*)\\].*")
+ STRING(REGEX REPLACE ".*INFO:compiler\\[([^]]*)\\].*" "\\1"
CMAKE_${lang}_COMPILER_ID "${info}")
- ELSEIF("${info}" MATCHES ".*INFO:platform\\[(.*)\\].*")
- STRING(REGEX REPLACE ".*INFO:platform\\[(.*)\\].*" "\\1"
+ ENDIF("${info}" MATCHES ".*INFO:compiler\\[([^]]*)\\].*")
+ IF("${info}" MATCHES ".*INFO:platform\\[([^]]*)\\].*")
+ STRING(REGEX REPLACE ".*INFO:platform\\[([^]]*)\\].*" "\\1"
CMAKE_${lang}_PLATFORM_ID "${info}")
- ENDIF("${info}" MATCHES ".*INFO:compiler\\[(.*)\\].*")
+ ENDIF("${info}" MATCHES ".*INFO:platform\\[([^]]*)\\].*")
ENDFOREACH(info)
# Check the compiler identification string.
Index: CMakeCXXCompilerId.cpp
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeCXXCompilerId.cpp,v
retrieving revision 1.3
retrieving revision 1.3.2.1
diff -u -d -r1.3 -r1.3.2.1
--- CMakeCXXCompilerId.cpp 30 Apr 2007 22:10:37 -0000 1.3
+++ CMakeCXXCompilerId.cpp 17 May 2007 14:24:35 -0000 1.3.2.1
@@ -23,7 +23,7 @@
#elif defined(__IBMCPP__)
"VisualAge"
#elif defined(__GNUC__)
-"GNUC"
+"GNU"
#elif defined(_MSC_VER)
"MSVC"
#elif defined(_COMPILER_VERSION)
Index: CMakeCXXInformation.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeCXXInformation.cmake,v
retrieving revision 1.13.4.1
retrieving revision 1.13.4.2
diff -u -d -r1.13.4.1 -r1.13.4.2
--- CMakeCXXInformation.cmake 1 May 2007 17:07:21 -0000 1.13.4.1
+++ CMakeCXXInformation.cmake 17 May 2007 14:24:35 -0000 1.13.4.2
@@ -9,10 +9,17 @@
IF(CMAKE_COMPILER_IS_GNUCXX)
SET(CMAKE_BASE_NAME g++)
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
+ IF(CMAKE_CXX_COMPILER_ID)
+ IF(EXISTS ${CMAKE_ROOT}/Modules/Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_CXX_COMPILER_ID}-CXX.cmake)
+ SET(CMAKE_BASE_NAME ${CMAKE_CXX_COMPILER_ID}-CXX)
+ ENDIF(EXISTS ${CMAKE_ROOT}/Modules/Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_CXX_COMPILER_ID}-CXX.cmake)
+ ENDIF(CMAKE_CXX_COMPILER_ID)
SET(CMAKE_SYSTEM_AND_CXX_COMPILER_INFO_FILE
${CMAKE_ROOT}/Modules/Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}.cmake)
ENDIF(NOT CMAKE_SYSTEM_AND_CXX_COMPILER_INFO_FILE)
+
INCLUDE(${CMAKE_SYSTEM_AND_CXX_COMPILER_INFO_FILE} OPTIONAL)
+
# This should be included before the _INIT variables are
# used to initialize the cache. Since the rule variables
# have if blocks on them, users can still define them here.
@@ -45,9 +52,9 @@
SET(CMAKE_SHARED_LIBRARY_CXX_FLAGS ${CMAKE_SHARED_LIBRARY_C_FLAGS})
ENDIF(NOT CMAKE_SHARED_LIBRARY_CXX_FLAGS)
-IF(NOT CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS)
+IF(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS)
SET(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS ${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS})
-ENDIF(NOT CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS)
+ENDIF(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS)
IF(NOT CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG)
SET(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG})
Index: CMakeFortranCompiler.cmake.in
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeFortranCompiler.cmake.in,v
retrieving revision 1.7
retrieving revision 1.7.4.1
diff -u -d -r1.7 -r1.7.4.1
--- CMakeFortranCompiler.cmake.in 4 Jul 2006 15:06:38 -0000 1.7
+++ CMakeFortranCompiler.cmake.in 17 May 2007 14:24:35 -0000 1.7.4.1
@@ -1,5 +1,7 @@
SET(CMAKE_Fortran_COMPILER "@CMAKE_Fortran_COMPILER@")
SET(CMAKE_Fortran_COMPILER_ARG1 "@CMAKE_Fortran_COMPILER_ARG1@")
+SET(CMAKE_Fortran_COMPILER_ID "@CMAKE_Fortran_COMPILER_ID@")
+SET(CMAKE_Fortran_PLATFORM_ID "@CMAKE_Fortran_PLATFORM_ID@")
SET(CMAKE_AR "@CMAKE_AR@")
SET(CMAKE_RANLIB "@CMAKE_RANLIB@")
SET(CMAKE_COMPILER_IS_GNUG77 @CMAKE_COMPILER_IS_GNUG77@)
@@ -11,10 +13,12 @@
SET(UNIX 1)
ENDIF(CMAKE_COMPILER_IS_CYGWIN)
+SET(CMAKE_Fortran_COMPILER_ENV_VAR "FC")
+
IF(CMAKE_COMPILER_IS_MINGW)
SET(MINGW 1)
ENDIF(CMAKE_COMPILER_IS_MINGW)
-SET(CMAKE_COMPILER_IS_GNUG77_RUN 1)
+SET(CMAKE_Fortran_COMPILER_ID_RUN 1)
SET(CMAKE_Fortran_SOURCE_FILE_EXTENSIONS f;F;f77;F77;f90;F90;for;f95;F95)
SET(CMAKE_Fortran_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
SET(CMAKE_Fortran_LINKER_PREFERENCE Prefered)
@@ -23,4 +27,3 @@
ELSE(UNIX)
SET(CMAKE_Fortran_OUTPUT_EXTENSION .obj)
ENDIF(UNIX)
-SET(CMAKE_Fortran_COMPILER_ENV_VAR "FC")
Index: CTest.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CTest.cmake,v
retrieving revision 1.7.4.1
retrieving revision 1.7.4.2
diff -u -d -r1.7.4.1 -r1.7.4.2
--- CTest.cmake 11 May 2007 17:46:01 -0000 1.7.4.1
+++ CTest.cmake 17 May 2007 14:24:35 -0000 1.7.4.2
@@ -1,6 +1,14 @@
-# - setup CTest
+# - Configure a project for testing with CTest/Dart
# This file configures a project to use the CTest/Dart
-# testing/dashboard process.
+# testing/dashboard process. This module should be included
+# in the CMakeLists.txt file at the top of a project. Typical usage:
+# INCLUDE(CTest)
+# IF(BUILD_TESTING)
+# # ... testing related CMake code ...
+# ENDIF(BUILD_TESTING)
+# The BUILD_TESTING option is created by the CTest module to determine
+# whether testing support should be enabled. The default is ON.
+
OPTION(BUILD_TESTING "Build the testing tree." ON)
IF(BUILD_TESTING)
@@ -46,8 +54,6 @@
INCLUDE("${PROJECT_SOURCE_DIR}/DartConfig.cmake")
ELSE(EXISTS "${PROJECT_SOURCE_DIR}/DartConfig.cmake")
- SET_IF_NOT_SET(EXECUTABLE_SUFFIX "${CMAKE_EXECUTABLE_SUFFIX}")
-
# Dashboard is opened for submissions for a 24 hour period starting at
# the specified NIGHTLY_START_TIME. Time is specified in 24 hour format.
SET_IF_NOT_SET (NIGHTLY_START_TIME "00:00:00 EDT")
Index: CMakeCXXCompiler.cmake.in
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeCXXCompiler.cmake.in,v
retrieving revision 1.13.2.1
retrieving revision 1.13.2.2
diff -u -d -r1.13.2.1 -r1.13.2.2
--- CMakeCXXCompiler.cmake.in 2 May 2007 15:56:44 -0000 1.13.2.1
+++ CMakeCXXCompiler.cmake.in 17 May 2007 14:24:35 -0000 1.13.2.2
@@ -22,7 +22,7 @@
SET(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;H;o;O;obj;OBJ;def;DEF;rc;RC)
SET(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm)
SET(CMAKE_CXX_LINKER_PREFERENCE Prefered)
-SET(CMAKE_CXX_OUTPUT_EXTENSION ${CMAKE_CXX_OUTPUT_EXTENSION})
+SET(CMAKE_CXX_OUTPUT_EXTENSION @CMAKE_CXX_OUTPUT_EXTENSION@)
# save the size of void* in case where cache is removed
# and the this file is still around
Index: CMakeDetermineCCompiler.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeDetermineCCompiler.cmake,v
retrieving revision 1.39.2.7
retrieving revision 1.39.2.8
diff -u -d -r1.39.2.7 -r1.39.2.8
--- CMakeDetermineCCompiler.cmake 15 May 2007 17:30:38 -0000 1.39.2.7
+++ CMakeDetermineCCompiler.cmake 17 May 2007 14:24:35 -0000 1.39.2.8
@@ -5,11 +5,13 @@
# use environment variable CC first if defined by user, next use
# the cmake variable CMAKE_GENERATOR_CC which can be defined by a generator
# as a default compiler
-# If the cmake variable CMAKE_TOOLCHAIN_PREFIX is set, this is used as
-# prefix for the tools (e.g. arm-elf-gcc etc.)
-# If the cmake variable CMAKE_TOOLCHAIN_LOCATION is set, the compiler is
-# searched only there. The other tools are at first searched there, then
-# also in the default locations.
+# If the internal cmake variable _CMAKE_TOOLCHAIN_PREFIX is set, this is used
+# as prefix for the tools (e.g. arm-elf-gcc, arm-elf-ar etc.). This works
+# currently with the GNU crosscompilers.
+# It also tries to detect a MS crosscompiler and find out its
+# suffix (clarm.exe), which will be stored in _CMAKE_TOOLCHAIN_SUFFIX and
+# reused for the CXX compiler.
+#
#
# Sets the following variables:
# CMAKE_C_COMPILER
@@ -18,8 +20,8 @@
# CMAKE_COMPILER_IS_GNUCC
#
# If not already set before, it also sets
-# CMAKE_TOOLCHAIN_PREFIX
-# CMAKE_TOOLCHAIN_LOCATION
+# _CMAKE_TOOLCHAIN_PREFIX
+# _CMAKE_TOOLCHAIN_SUFFIX
IF(NOT CMAKE_C_COMPILER)
SET(CMAKE_CXX_COMPILER_INIT NOTFOUND)
@@ -46,15 +48,14 @@
IF(CMAKE_C_COMPILER_INIT)
SET(CMAKE_C_COMPILER_LIST ${CMAKE_C_COMPILER_INIT})
ELSE(CMAKE_C_COMPILER_INIT)
- SET(CMAKE_C_COMPILER_LIST ${CMAKE_TOOLCHAIN_PREFIX}gcc ${CMAKE_TOOLCHAIN_PREFIX}cc cl bcc xlc)
+ SET(CMAKE_C_COMPILER_LIST ${_CMAKE_TOOLCHAIN_PREFIX}gcc ${_CMAKE_TOOLCHAIN_PREFIX}cc cl${_CMAKE_TOOLCHAIN_SUFFIX} bcc xlc)
ENDIF(CMAKE_C_COMPILER_INIT)
# Find the compiler.
- IF (CMAKE_TOOLCHAIN_LOCATION)
- FIND_PROGRAM(CMAKE_C_COMPILER NAMES ${CMAKE_C_COMPILER_LIST} PATHS ${CMAKE_TOOLCHAIN_LOCATION} DOC "C compiler" NO_DEFAULT_PATH)
- ELSE (CMAKE_TOOLCHAIN_LOCATION)
- FIND_PROGRAM(CMAKE_C_COMPILER NAMES ${CMAKE_C_COMPILER_LIST} DOC "C compiler")
- ENDIF (CMAKE_TOOLCHAIN_LOCATION)
+ IF (_CMAKE_USER_CXX_COMPILER_PATH)
+ FIND_PROGRAM(CMAKE_C_COMPILER NAMES ${CMAKE_C_COMPILER_LIST} PATHS ${_CMAKE_USER_CXX_COMPILER_PATH} DOC "C compiler" NO_DEFAULT_PATH)
+ ENDIF (_CMAKE_USER_CXX_COMPILER_PATH)
+ FIND_PROGRAM(CMAKE_C_COMPILER NAMES ${CMAKE_C_COMPILER_LIST} DOC "C compiler")
IF(CMAKE_C_COMPILER_INIT AND NOT CMAKE_C_COMPILER)
SET(CMAKE_C_COMPILER "${CMAKE_C_COMPILER_INIT}" CACHE FILEPATH "C compiler" FORCE)
@@ -63,28 +64,37 @@
# if a compiler was specified by the user but without path,
# now try to find it with the full path and force it into the cache
- GET_FILENAME_COMPONENT(CMAKE_C_COMPILER_PATH "${CMAKE_C_COMPILER}" PATH)
- IF(NOT CMAKE_C_COMPILER_PATH)
+ GET_FILENAME_COMPONENT(_CMAKE_USER_C_COMPILER_PATH "${CMAKE_C_COMPILER}" PATH)
+ IF(NOT _CMAKE_USER_C_COMPILER_PATH)
FIND_PROGRAM(CMAKE_C_COMPILER_WITH_PATH NAMES ${CMAKE_C_COMPILER})
MARK_AS_ADVANCED(CMAKE_C_COMPILER_WITH_PATH)
SET(CMAKE_C_COMPILER ${CMAKE_C_COMPILER_WITH_PATH} CACHE FILEPATH "C compiler" FORCE)
- ENDIF(NOT CMAKE_C_COMPILER_PATH)
+ ENDIF(NOT _CMAKE_USER_C_COMPILER_PATH)
ENDIF(NOT CMAKE_C_COMPILER)
MARK_AS_ADVANCED(CMAKE_C_COMPILER)
-IF (NOT CMAKE_TOOLCHAIN_LOCATION)
- GET_FILENAME_COMPONENT(CMAKE_TOOLCHAIN_LOCATION "${CMAKE_C_COMPILER}" PATH)
-ENDIF (NOT CMAKE_TOOLCHAIN_LOCATION)
+IF (NOT _CMAKE_TOOLCHAIN_LOCATION)
+ GET_FILENAME_COMPONENT(_CMAKE_TOOLCHAIN_LOCATION "${CMAKE_C_COMPILER}" PATH)
+ENDIF (NOT _CMAKE_TOOLCHAIN_LOCATION)
# if we have a gcc cross compiler, they have usually some prefix, like
# e.g. powerpc-linux-gcc, arm-elf-gcc or i586-mingw32msvc-gcc
# the other tools of the toolchain usually have the same prefix
-IF (NOT CMAKE_TOOLCHAIN_PREFIX)
+IF (NOT _CMAKE_TOOLCHAIN_PREFIX)
GET_FILENAME_COMPONENT(COMPILER_BASENAME "${CMAKE_C_COMPILER}" NAME_WE)
IF (COMPILER_BASENAME MATCHES "^(.+-)g?cc")
- STRING(REGEX REPLACE "^(.+-)g?cc" "\\1" CMAKE_TOOLCHAIN_PREFIX "${COMPILER_BASENAME}")
+ STRING(REGEX REPLACE "^(.+-)g?cc" "\\1" _CMAKE_TOOLCHAIN_PREFIX "${COMPILER_BASENAME}")
ENDIF (COMPILER_BASENAME MATCHES "^(.+-)g?cc")
-ENDIF (NOT CMAKE_TOOLCHAIN_PREFIX)
+ENDIF (NOT _CMAKE_TOOLCHAIN_PREFIX)
+
+# if we have a MS cross compiler, it usually has a suffix, like
+# e.g. clarm.exe or clmips.exe. Use this suffix for the CXX compiler too.
+IF (NOT _CMAKE_TOOLCHAIN_SUFFIX)
+ GET_FILENAME_COMPONENT(COMPILER_BASENAME "${CMAKE_C_COMPILER}" NAME)
+ IF (COMPILER_BASENAME MATCHES "^cl(.+)\\.exe$")
+ STRING(REGEX REPLACE "^cl(.+)\\.exe$" "\\1" _CMAKE_TOOLCHAIN_SUFFIX "${COMPILER_BASENAME}")
+ ENDIF (COMPILER_BASENAME MATCHES "^cl(.+)\\.exe$")
+ENDIF (NOT _CMAKE_TOOLCHAIN_SUFFIX)
# some exotic compilers have different extensions (e.g. sdcc uses .rel)
# so don't overwrite it if it has been already defined by the user
@@ -113,7 +123,7 @@
# Try to identify the compiler.
SET(CMAKE_C_COMPILER_ID)
INCLUDE(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerId.cmake)
- CMAKE_DETERMINE_COMPILER_ID(C ${CMAKE_ROOT}/Modules/CMakeCCompilerId.c)
+ CMAKE_DETERMINE_COMPILER_ID(C CFLAGS ${CMAKE_ROOT}/Modules/CMakeCCompilerId.c)
# Set old compiler and platform id variables.
IF("${CMAKE_C_COMPILER_ID}" MATCHES "GNU")
@@ -134,4 +144,7 @@
SET(CMAKE_C_COMPILER_ENV_VAR "CC")
+message(STATUS "root bin: ${CMAKE_PLATFORM_ROOT_BIN}")
+message(STATUS "root: ${CMAKE_ROOT}")
+message(STATUS "gen: ${CMAKE_GENERATOR}")
Index: DartConfiguration.tcl.in
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/DartConfiguration.tcl.in,v
retrieving revision 1.6.10.1
retrieving revision 1.6.10.2
diff -u -d -r1.6.10.1 -r1.6.10.2
--- DartConfiguration.tcl.in 11 May 2007 17:46:01 -0000 1.6.10.1
+++ DartConfiguration.tcl.in 17 May 2007 14:24:35 -0000 1.6.10.2
@@ -30,9 +30,6 @@
ConfigureCommand: "@CMAKE_COMMAND@" "@PROJECT_SOURCE_DIR@"
MakeCommand: @MAKECOMMAND@
-# Support for different executable suffixes
-ExecutableSuffix: @EXECUTABLE_SUFFIX@
-
# CVS options
# Default is "-d -P -A"
CVSCommand: @CVSCOMMAND@
More information about the Cmake-commits
mailing list