[CMake] CMAKE_SIZEOF_VOID_P is unset when building libgit2 on Windows

Sebastian Schuberth sschuberth at gmail.com
Thu Mar 24 11:28:29 EDT 2016


Hi,

I'm having a similar problem as mention in the old thread at [1]. In my case, I'm on Windows 8.1 64-bit trying to build the rugged [2] gem, which depends on libgit2, which uses CMake. Configuring libgit2 fails as CMake does not set CMAKE_SIZEOF_VOID_P (nor CMAKE_C_SIZEOF_DATA_PTR), see the attached CMakeCCompiler.cmake file.

I tried to search CMake's source code to find out how the value of @CMAKE_C_SIZEOF_DATA_PTR@ is determined in CMakeCCompiler.cmake.in, but I failed. Does anyone have suggestions on how to debug this further, or what the possible root causes might be?

Versions I'm using:
cmake version 3.5.0
ruby 2.2.3p173 (2015-08-18 revision 51636) [x64-mingw32]
rugged-0.24.0
Ruby-DevKit

[1] http://cmake.3232098.n2.nabble.com/Properly-Detecting-Win64-tp5932689p6288785.html
[2] https://github.com/libgit2/rugged
[3] https://github.com/libgit2/libgit2

Regards,
Sebastian
-------------- next part --------------
set(CMAKE_C_COMPILER "C:/Ruby-DevKit/mingw/bin/gcc.exe")
set(CMAKE_C_COMPILER_ARG1 "")
set(CMAKE_C_COMPILER_ID "GNU")
set(CMAKE_C_COMPILER_VERSION "4.7.2")
set(CMAKE_C_COMPILER_WRAPPER "")
set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "90")
set(CMAKE_C_COMPILE_FEATURES "c_function_prototypes;c_restrict;c_variadic_macros;c_static_assert")
set(CMAKE_C90_COMPILE_FEATURES "c_function_prototypes")
set(CMAKE_C99_COMPILE_FEATURES "c_restrict;c_variadic_macros")
set(CMAKE_C11_COMPILE_FEATURES "c_static_assert")

set(CMAKE_C_PLATFORM_ID "MinGW")
set(CMAKE_C_SIMULATE_ID "")
set(CMAKE_C_SIMULATE_VERSION "")

set(CMAKE_AR "C:/Ruby-DevKit/mingw/bin/ar.exe")
set(CMAKE_RANLIB "C:/Ruby-DevKit/mingw/bin/ranlib.exe")
set(CMAKE_LINKER "C:/Ruby-DevKit/mingw/bin/ld.exe")
set(CMAKE_COMPILER_IS_GNUCC 1)
set(CMAKE_C_COMPILER_LOADED 1)
set(CMAKE_C_COMPILER_WORKS TRUE)
set(CMAKE_C_ABI_COMPILED FALSE)
set(CMAKE_COMPILER_IS_MINGW 1)
set(CMAKE_COMPILER_IS_CYGWIN )
if(CMAKE_COMPILER_IS_CYGWIN)
  set(CYGWIN 1)
  set(UNIX 1)
endif()

set(CMAKE_C_COMPILER_ENV_VAR "CC")

if(CMAKE_COMPILER_IS_MINGW)
  set(MINGW 1)
endif()
set(CMAKE_C_COMPILER_ID_RUN 1)
set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
set(CMAKE_C_LINKER_PREFERENCE 10)

# Save compiler ABI information.
set(CMAKE_C_SIZEOF_DATA_PTR "")
set(CMAKE_C_COMPILER_ABI "")
set(CMAKE_C_LIBRARY_ARCHITECTURE "")

if(CMAKE_C_SIZEOF_DATA_PTR)
  set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
endif()

if(CMAKE_C_COMPILER_ABI)
  set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
endif()

if(CMAKE_C_LIBRARY_ARCHITECTURE)
  set(CMAKE_LIBRARY_ARCHITECTURE "")
endif()

set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
  set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
endif()




set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "")
set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "")
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")


More information about the CMake mailing list