summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen D. Huston <shuston@apache.org>2015-02-25 18:50:59 +0000
committerStephen D. Huston <shuston@apache.org>2015-02-25 18:50:59 +0000
commit50a8c4aa1d572ad9fbfebda5e46457c6b10164c0 (patch)
treee7c743c1333878d991cb4ec1f787ae1038ee6b24
parent65f4c572e9bf9a25c8657a72d14fed7cd05b46f7 (diff)
downloadqpid-python-50a8c4aa1d572ad9fbfebda5e46457c6b10164c0.tar.gz
Somehow did not include these in commit r1662027 for QPID-6312
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.32@1662294 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/cpp/CMakeModules/CheckSizeTNativeType.cmake59
-rwxr-xr-xqpid/cpp/CMakeModules/CheckSizetDistinct.cmake56
2 files changed, 56 insertions, 59 deletions
diff --git a/qpid/cpp/CMakeModules/CheckSizeTNativeType.cmake b/qpid/cpp/CMakeModules/CheckSizeTNativeType.cmake
deleted file mode 100644
index fb515cd149..0000000000
--- a/qpid/cpp/CMakeModules/CheckSizeTNativeType.cmake
+++ /dev/null
@@ -1,59 +0,0 @@
-#
-# $Id $
-#
-# Author(s): Anton Deguet
-# Created on: 2011
-#
-# (C) Copyright 2011 Johns Hopkins University (JHU), All Rights
-# Reserved.
-#
-# --- begin cisst license - do not edit ---
-#
-# This software is provided "as is" under an open source license, with
-# no warranty. The complete license can be found in license.txt and
-# http://www.cisst.org/cisst/license.txt.
-#
-# --- end cisst license ---
-
-function (check_size_t_native_type VARIABLE)
- # make sure we don't test over and over
- if ("${VARIABLE}" MATCHES "^${VARIABLE}$")
- message (STATUS "Checking to see if size_t is a native type")
- set (SOURCE
- "#include <vector>
- char method(unsigned int p) {
- return 'u';
- }
- char method(unsigned long long int p) {
- return 'l';
- }
- char method(size_t p) {
- return 's';
- }
- int main(void) {}")
-
- file (WRITE
- "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/test_size_t.cpp"
- "${SOURCE}\n")
-
- try_compile (${VARIABLE}
- ${CMAKE_BINARY_DIR}
- "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/test_size_t.cpp"
- OUTPUT_VARIABLE OUTPUT)
-
- # report using message and log files
- if (${VARIABLE})
- message (STATUS "Checking to see if size_t is a native type - yes")
- file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
- "Determining if size_t is a native type passed with "
- "the following output:\n${OUTPUT}\n\n")
- else (${VARIABLE})
- message (STATUS "Checking to see if size_t is a native type - no")
- file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
- "Determining if size_t is a native type passed with "
- "the following output:\n${OUTPUT}\n\n")
- endif (${VARIABLE})
-
- endif ("${VARIABLE}" MATCHES "^${VARIABLE}$")
-
-endfunction (check_size_t_native_type VARIABLE)
diff --git a/qpid/cpp/CMakeModules/CheckSizetDistinct.cmake b/qpid/cpp/CMakeModules/CheckSizetDistinct.cmake
new file mode 100755
index 0000000000..85bc5fd985
--- /dev/null
+++ b/qpid/cpp/CMakeModules/CheckSizetDistinct.cmake
@@ -0,0 +1,56 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# This module checks to see if size_t is a distinct type from the other
+# integer types already set up in IntegerTypes.h.
+
+INCLUDE (CheckCXXSourceCompiles)
+
+FUNCTION (check_size_t_distinct VARIABLE)
+ # No need to check if we already did. If you want to re-run, clear it
+ # from the cache.
+ if ("${VARIABLE}" MATCHES "^${VARIABLE}$")
+ message (STATUS "Checking to see if size_t is a distinct type")
+ set (CMAKE_REQUIRED_QUIET ON)
+ set (CMAKE_REQUIRED_INCLUDES "${CMAKE_SOURCE_DIR}/include")
+ CHECK_CXX_SOURCE_COMPILES (
+"
+#include <iostream>
+#include \"qpid/sys/IntegerTypes.h\"
+// Define functions that will fail to compile if size_t is the same as
+// one of the int types defined in IntegerTypes.h
+int foo(int16_t) { return 1; }
+int foo(int32_t) { return 2; }
+int foo(int64_t) { return 3; }
+int foo(uint16_t) { return 4; }
+int foo(uint32_t) { return 5; }
+int foo(uint64_t) { return 6; }
+int foo(size_t) { return 7; }
+int main (int, char *[]) {
+ return 0;
+}
+"
+ ${VARIABLE})
+ if (${VARIABLE})
+ message (STATUS "Checking to see if size_t is a distinct type - yes")
+ else (${VARIABLE})
+ message (STATUS "Checking to see if size_t is a distinct type - no")
+ endif (${VARIABLE})
+ endif ("${VARIABLE}" MATCHES "^${VARIABLE}$")
+ENDFUNCTION (check_size_t_distinct VARIABLE)