diff options
author | Daniele E. Domenichelli <daniele.domenichelli@iit.it> | 2014-03-15 21:56:47 (GMT) |
---|---|---|
committer | Daniele E. Domenichelli <daniele.domenichelli@iit.it> | 2014-03-15 22:23:53 (GMT) |
commit | 7d6d45f23c25355f1da0ad9fcd9e45cdb05194f8 (patch) | |
tree | e1c358d1cfffa0b476d289a25981048871bacb4e /Modules | |
parent | 3c6943eb9da3695316b807f59ba42a1b105a7afb (diff) | |
download | CMake-7d6d45f23c25355f1da0ad9fcd9e45cdb05194f8.zip CMake-7d6d45f23c25355f1da0ad9fcd9e45cdb05194f8.tar.gz CMake-7d6d45f23c25355f1da0ad9fcd9e45cdb05194f8.tar.bz2 |
CheckTypeSize: Support for CXX when C language is not enabled
This example now works without need to enable C language:
cmake_minimum_required(VERSION x.x.x)
project(foo CXX)
include(CheckTypeSize)
check_type_size("short" SIZEOF_SHORT LANGUAGE CXX)
Fixes #14056
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/CheckTypeSize.cmake | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/Modules/CheckTypeSize.cmake b/Modules/CheckTypeSize.cmake index ec28d8b..333b325 100644 --- a/Modules/CheckTypeSize.cmake +++ b/Modules/CheckTypeSize.cmake @@ -75,6 +75,7 @@ # License text for the above reference.) include(CheckIncludeFile) +include(CheckIncludeFileCXX) cmake_policy(PUSH) cmake_minimum_required(VERSION 2.6 FATAL_ERROR) @@ -218,9 +219,15 @@ macro(CHECK_TYPE_SIZE TYPE VARIABLE) set(_builtin 0) else() set(_builtin 1) - check_include_file(sys/types.h HAVE_SYS_TYPES_H) - check_include_file(stdint.h HAVE_STDINT_H) - check_include_file(stddef.h HAVE_STDDEF_H) + if("${_language}" STREQUAL "C") + check_include_file(sys/types.h HAVE_SYS_TYPES_H) + check_include_file(stdint.h HAVE_STDINT_H) + check_include_file(stddef.h HAVE_STDDEF_H) + elseif("${_language}" STREQUAL "CXX") + check_include_file_cxx(sys/types.h HAVE_SYS_TYPES_H) + check_include_file_cxx(stdint.h HAVE_STDINT_H) + check_include_file_cxx(stddef.h HAVE_STDDEF_H) + endif() endif() unset(_CHECK_TYPE_SIZE_BUILTIN_TYPES_ONLY) unset(_CHECK_TYPE_SIZE_LANGUAGE) |