Refs #461. Provide OpenBLASConfig.cmake to support CMake.
authorZhang Xianyi <traits.zhang@gmail.com>
Fri, 28 Nov 2014 18:16:40 +0000 (02:16 +0800)
committerZhang Xianyi <traits.zhang@gmail.com>
Fri, 28 Nov 2014 18:16:40 +0000 (02:16 +0800)
If you "make PREFIX=/path/to/OpenBLAS install" ,
The config file will be located in /path/to/OpenBLAS/cmake

Then, you can use "find_package(OpenBLAS)" at CMake.
cmake -DOpenBLAS_DIR=/path/to/OpenBLAS/cmake ..

Makefile.install

index c7d1d0d..04323ee 100644 (file)
@@ -9,6 +9,8 @@ OPENBLAS_INCLUDE_DIR := $(PREFIX)/include
 OPENBLAS_LIBRARY_DIR := $(PREFIX)/lib
 OPENBLAS_BINARY_DIR := $(PREFIX)/bin
 OPENBLAS_BUILD_DIR := $(CURDIR)
+OPENBLAS_CMAKE_DIR := $(PREFIX)/cmake
+OPENBLAS_CMAKE_CONFIG := OpenBLASConfig.cmake
 
 .PHONY : install
 .NOTPARALLEL : install
@@ -21,6 +23,7 @@ install :     lib.grd
        @-mkdir -p $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)
        @-mkdir -p $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
        @-mkdir -p $(DESTDIR)$(OPENBLAS_BINARY_DIR)
+       @-mkdir -p $(DESTDIR)$(OPENBLAS_CMAKE_DIR)
        @echo Generating openblas_config.h in $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)
 #for inc
        @echo \#ifndef OPENBLAS_CONFIG_H > $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/openblas_config.h
@@ -90,6 +93,23 @@ ifeq ($(OSNAME), CYGWIN_NT)
        @-cp $(LIBDLLNAME) $(OPENBLAS_BINARY_DIR)
 endif
 endif
-
+#Generating OpenBLASConfig.cmake
+       @echo Generating $(OPENBLAS_CMAKE_CONFIG) in $(DESTDIR)$(OPENBLAS_CMAKE_DIR)
+       @echo "SET(OpenBLAS_INCLUDE_DIRS ${OPENBLAS_INCLUDE_DIR})" > $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)
+ifndef NO_SHARED
+#ifeq logical or
+ifeq ($(OSNAME), $(filter $(OSNAME),Linux FreeBSD NetBSD))
+       @echo "SET(OpenBLAS_LIBRARIES ${OPENBLAS_LIBRARY_DIR}/$(LIBPREFIX).so)" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)
+endif
+ifeq ($(OSNAME), $(filter $(OSNAME),WINNT CYGWIN_NT))
+       @echo "SET(OpenBLAS_LIBRARIES ${OPENBLAS_BINARY_DIR}/$(LIBDLLNAME))" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)
+endif
+ifeq ($(OSNAME), Darwin)
+       @echo "SET(OpenBLAS_LIBRARIES ${OPENBLAS_LIBRARY_DIR}/$(LIBPREFIX).dylib)" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)
+endif
+else
+#only static
+       @echo "SET(OpenBLAS_LIBRARIES ${OPENBLAS_LIBRARY_DIR}/$(LIBPREFIX).$(LIBSUFFIX))" >> $(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)
+endif
        @echo Install OK!