mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-01-12 14:25:16 +08:00
bug #891: Determine sizeof(void*) via CMAKE variable instead of test program
(transplanted from 0ec1fc9e11
)
This commit is contained in:
parent
aadbfe78c2
commit
9b79607579
@ -452,20 +452,12 @@ macro(ei_set_build_string)
|
|||||||
endmacro(ei_set_build_string)
|
endmacro(ei_set_build_string)
|
||||||
|
|
||||||
macro(ei_is_64bit_env VAR)
|
macro(ei_is_64bit_env VAR)
|
||||||
|
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||||
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/is64.cpp"
|
|
||||||
"int main() { return (sizeof(int*) == 8 ? 1 : 0); }
|
|
||||||
")
|
|
||||||
try_run(run_res compile_res
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR} "${CMAKE_CURRENT_BINARY_DIR}/is64.cpp"
|
|
||||||
RUN_OUTPUT_VARIABLE run_output)
|
|
||||||
|
|
||||||
if(compile_res AND run_res)
|
|
||||||
set(${VAR} ${run_res})
|
|
||||||
elseif(CMAKE_CL_64)
|
|
||||||
set(${VAR} 1)
|
|
||||||
elseif("$ENV{Platform}" STREQUAL "X64") # nmake 64 bit
|
|
||||||
set(${VAR} 1)
|
set(${VAR} 1)
|
||||||
|
elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||||
|
set(${VAR} 0)
|
||||||
|
else()
|
||||||
|
message(WARNING "Unsupported pointer size. Please contact the authors.")
|
||||||
endif()
|
endif()
|
||||||
endmacro(ei_is_64bit_env)
|
endmacro(ei_is_64bit_env)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user