12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- From a2f0669fac1f8e7183b15cf7d14f0e99a2d8b012 Mon Sep 17 00:00:00 2001
- From: Samuel Martin <s.martin49@gmail.com>
- Date: Sat, 11 Jan 2014 21:47:39 +0100
- Subject: [PATCH 3/6] cmake: do not try to run arithchk when cross-compiling to
- generate sources
- Instead, use a predefined arith.h if provided, or generate a default one.
- The arithchk binary is still built (but not installed) to allow the user to
- run it on its target and use it; so then allowing to build an optimized
- blas library.
- Signed-off-by: Samuel Martin <s.martin49@gmail.com>
- ---
- F2CLIBS/libf2c/CMakeLists.txt | 38 ++++++++++++++++++++++++++++----------
- 1 file changed, 28 insertions(+), 10 deletions(-)
- diff --git a/F2CLIBS/libf2c/CMakeLists.txt b/F2CLIBS/libf2c/CMakeLists.txt
- index f98d66a..45a0804 100644
- --- a/F2CLIBS/libf2c/CMakeLists.txt
- +++ b/F2CLIBS/libf2c/CMakeLists.txt
- @@ -38,17 +38,35 @@ set(TIME dtime_.c etime_.c)
-
- # For INTEGER*8 support (which requires system-dependent adjustments to
- # f2c.h), add ${QINT} to the OFILES assignment below...
- -add_executable(arithchk arithchk.c)
- -if(UNIX)
- - target_link_libraries(arithchk m)
- +if(CMAKE_CROSSCOMPILING)
- + if(ARITH_H)
- + message(STATUS "Using the user-defined '${ARITH_H}' as arith.h header.")
- + configure_file("${ARITH_H}" "${CMAKE_CURRENT_BINARY_DIR}/arith.h" COPYONLY)
- + else()
- + message(STATUS "No user-defined arith.h header.")
- + if(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/arith.h")
- + message(WARNING "Generating the default non-optimized 'arith.h' header.
- +
- +To generate and provide a custom arith.h header:
- +run the cross-compiled arithchk binary on your target,
- +and use its output to fill your custom arith.h header.")
- + file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/arith.h"
- + "/* default, not optimized arith.h */")
- + endif()
- + endif()
- +else()
- + add_executable(arithchk arithchk.c)
- + if(UNIX)
- + target_link_libraries(arithchk m)
- + endif()
- + set_target_properties(arithchk PROPERTIES COMPILE_DEFINITIONS
- + "NO_FPINIT;NO_LONG_LONG")
- + ADD_CUSTOM_COMMAND(
- + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/arith.h
- + COMMAND arithchk > ${CMAKE_CURRENT_BINARY_DIR}/arith.h
- + DEPENDS arithchk
- + )
- endif()
- -set_target_properties(arithchk PROPERTIES COMPILE_DEFINITIONS
- - "NO_FPINIT;NO_LONG_LONG")
- -ADD_CUSTOM_COMMAND(
- - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/arith.h
- - COMMAND arithchk > ${CMAKE_CURRENT_BINARY_DIR}/arith.h
- - DEPENDS arithchk
- - )
-
-
- set(OFILES ${MISC} ${POW} ${CX} ${DCX} ${REAL} ${DBL} ${INT}
- --
- 1.8.5.3
|