[Cmake-commits] CMake branch, next, updated. v3.8.0-rc1-190-g37537d9
Brad King
brad.king at kitware.com
Wed Feb 15 15:12:22 EST 2017
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via 37537d95cbcb3e7265599523bd31fe13cef25654 (commit)
via ac0962cead1db76b44cbb9d9a413956ca31a7982 (commit)
from 2556769b73a707529a73df5a474620281e3fb7d8 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=37537d95cbcb3e7265599523bd31fe13cef25654
commit 37537d95cbcb3e7265599523bd31fe13cef25654
Merge: 2556769 ac0962c
Author: Brad King <brad.king at kitware.com>
AuthorDate: Wed Feb 15 15:12:22 2017 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Feb 15 15:12:22 2017 -0500
Merge topic 'TestBigEndian-cxx-only' into next
ac0962ce TestBigEndian: Fix to work with CXX without C
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ac0962cead1db76b44cbb9d9a413956ca31a7982
commit ac0962cead1db76b44cbb9d9a413956ca31a7982
Author: Uwe Koloska <uwe.koloska at voiceinterconnect.de>
AuthorDate: Wed Feb 15 18:21:35 2017 +0100
Commit: Brad King <brad.king at kitware.com>
CommitDate: Wed Feb 15 15:08:37 2017 -0500
TestBigEndian: Fix to work with CXX without C
diff --git a/Modules/TestBigEndian.cmake b/Modules/TestBigEndian.cmake
index 085be22..cc627d0 100644
--- a/Modules/TestBigEndian.cmake
+++ b/Modules/TestBigEndian.cmake
@@ -19,21 +19,29 @@ macro(TEST_BIG_ENDIAN VARIABLE)
message(STATUS "Check if the system is big endian")
message(STATUS "Searching 16 bit integer")
+ if(CMAKE_C_COMPILER_LOADED)
+ set(_test_language "C")
+ elseif(CMAKE_CXX_COMPILER_LOADED)
+ set(_test_language "CXX")
+ else()
+ message(FATAL_ERROR "TEST_BIG_ENDIAN needs either C or CXX language enabled")
+ endif()
+
include(CheckTypeSize)
- CHECK_TYPE_SIZE("unsigned short" CMAKE_SIZEOF_UNSIGNED_SHORT)
+ CHECK_TYPE_SIZE("unsigned short" CMAKE_SIZEOF_UNSIGNED_SHORT LANGUAGE ${_test_language})
if(CMAKE_SIZEOF_UNSIGNED_SHORT EQUAL 2)
message(STATUS "Using unsigned short")
set(CMAKE_16BIT_TYPE "unsigned short")
else()
- CHECK_TYPE_SIZE("unsigned int" CMAKE_SIZEOF_UNSIGNED_INT)
+ CHECK_TYPE_SIZE("unsigned int" CMAKE_SIZEOF_UNSIGNED_INT LANGUAGE ${_test_language})
if(CMAKE_SIZEOF_UNSIGNED_INT)
message(STATUS "Using unsigned int")
set(CMAKE_16BIT_TYPE "unsigned int")
else()
- CHECK_TYPE_SIZE("unsigned long" CMAKE_SIZEOF_UNSIGNED_LONG)
+ CHECK_TYPE_SIZE("unsigned long" CMAKE_SIZEOF_UNSIGNED_LONG LANGUAGE ${_test_language})
if(CMAKE_SIZEOF_UNSIGNED_LONG)
message(STATUS "Using unsigned long")
set(CMAKE_16BIT_TYPE "unsigned long")
@@ -45,17 +53,21 @@ macro(TEST_BIG_ENDIAN VARIABLE)
endif()
+ if(_test_language STREQUAL "CXX")
+ set(_test_file "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/TestEndianess.cpp")
+ else()
+ set(_test_file "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/TestEndianess.c")
+ endif()
configure_file("${CMAKE_ROOT}/Modules/TestEndianess.c.in"
- "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/TestEndianess.c"
+ ${_test_file}
@ONLY)
- file(READ "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/TestEndianess.c"
- TEST_ENDIANESS_FILE_CONTENT)
+ file(READ ${_test_file} TEST_ENDIANESS_FILE_CONTENT)
try_compile(HAVE_${VARIABLE}
"${CMAKE_BINARY_DIR}"
- "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/TestEndianess.c"
+ ${_test_file}
OUTPUT_VARIABLE OUTPUT
COPY_FILE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/TestEndianess.bin" )
-----------------------------------------------------------------------
Summary of changes:
Modules/TestBigEndian.cmake | 26 +++++++++++++++++++-------
1 file changed, 19 insertions(+), 7 deletions(-)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list