Fix open_blas.config which was never working out-of-source. Remove need for gen_config_h.exe. If OpenMP is requested, do not silently ignore when it isn't available.

This commit is contained in:
Sacha 2017-08-23 11:16:24 +10:00
parent a1b87eac6b
commit 7a867082d8
3 changed files with 16 additions and 34 deletions

View File

@ -199,18 +199,21 @@ set_target_properties(${OpenBLAS_LIBNAME} PROPERTIES
install(TARGETS ${OpenBLAS_LIBNAME} install(TARGETS ${OpenBLAS_LIBNAME}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ) LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} )
# Install include files set(OPENBLAS_TMP ${CMAKE_BINARY_DIR}/openblas_config.tmp)
set (GENCONFIG_BIN ${CMAKE_BINARY_DIR}/gen_config_h${CMAKE_EXECUTABLE_SUFFIX}) file(WRITE ${OPENBLAS_TMP} "#ifndef OPENBLAS_CONFIG_H\n")
file(APPEND ${OPENBLAS_TMP} "#define OPENBLAS_CONFIG_H\n")
execute_process(COMMAND ${GENCONFIG_BIN} file(STRINGS ${PROJECT_BINARY_DIR}/config.h __lines)
${CMAKE_CURRENT_SOURCE_DIR}/config.h foreach(line ${__lines})
${CMAKE_CURRENT_SOURCE_DIR}/openblas_config_template.h string(REPLACE "#define " "" line ${line})
OUTPUT_VARIABLE OPENBLAS_CONFIG_H_CONTENTS) file(APPEND ${OPENBLAS_TMP} "#define OPENBLAS_${line}\n")
endforeach()
file(WRITE ${CMAKE_BINARY_DIR}/openblas_config.tmp "${OPENBLAS_CONFIG_H_CONTENTS}") file(APPEND ${OPENBLAS_TMP} "#define OPENBLAS_VERSION \"OpenBLAS ${OpenBLAS_VERSION}\"\n")
configure_file(${CMAKE_BINARY_DIR}/openblas_config.tmp ${CMAKE_BINARY_DIR}/openblas_config.h COPYONLY) file(READ ${CMAKE_CURRENT_SOURCE_DIR}/openblas_config_template.h __template)
file(APPEND ${OPENBLAS_TMP} "${__template}")
file(APPEND ${OPENBLAS_TMP} "#endif /* OPENBLAS_CONFIG_H */\n")
configure_file(${OPENBLAS_TMP} ${CMAKE_BINARY_DIR}/openblas_config.h COPYONLY)
install (FILES ${CMAKE_BINARY_DIR}/openblas_config.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) install (FILES ${CMAKE_BINARY_DIR}/openblas_config.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})

View File

@ -35,12 +35,10 @@ endif ()
if (USE_OPENMP) if (USE_OPENMP)
# USE_SIMPLE_THREADED_LEVEL3 = 1 # USE_SIMPLE_THREADED_LEVEL3 = 1
# NO_AFFINITY = 1 # NO_AFFINITY = 1
find_package(OpenMP) find_package(OpenMP REQUIRED)
if (OpenMP_FOUND) if (OpenMP_FOUND)
set(CCOMMON_OPT "${CCOMMON_OPT} ${OpenMP_C_FLAGS} -DUSE_OPENMP") set(CCOMMON_OPT "${CCOMMON_OPT} ${OpenMP_C_FLAGS} -DUSE_OPENMP")
set(FCOMMON_OPT "${FCOMMON_OPT} ${OpenMP_Fortran_FLAGS}") set(FCOMMON_OPT "${FCOMMON_OPT} ${OpenMP_Fortran_FLAGS}")
elseif (UNIX)
set(USE_OPENMP 0)
endif() endif()
endif () endif ()

View File

@ -241,23 +241,4 @@ else(NOT CMAKE_CROSSCOMPILING)
ParseGetArchVars(${GETARCH2_MAKE_OUT}) ParseGetArchVars(${GETARCH2_MAKE_OUT})
# compile get_config_h
set(GEN_CONFIG_H_DIR "${PROJECT_BINARY_DIR}/genconfig_h_build")
set(GEN_CONFIG_H_BIN "gen_config_h${CMAKE_EXECUTABLE_SUFFIX}")
set(GEN_CONFIG_H_FLAGS "-DVERSION=\"${OpenBLAS_VERSION}\"")
file(MAKE_DIRECTORY ${GEN_CONFIG_H_DIR})
if (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore")
try_compile(GEN_CONFIG_H_RESULT ${GEN_CONFIG_H_DIR}
SOURCES ${PROJECT_SOURCE_DIR}/gen_config_h.c
COMPILE_DEFINITIONS ${EXFLAGS} ${GETARCH_FLAGS} ${GEN_CONFIG_H_FLAGS} -I${PROJECT_SOURCE_DIR}
OUTPUT_VARIABLE GEN_CONFIG_H_LOG
COPY_FILE ${PROJECT_BINARY_DIR}/${GEN_CONFIG_H_BIN}
)
if (NOT ${GEN_CONFIG_H_RESULT})
MESSAGE(FATAL_ERROR "Compiling gen_config_h failed ${GEN_CONFIG_H_LOG}")
endif ()
endif ()
endif() endif()