summaryrefslogtreecommitdiffstats
path: root/polly/cmake
diff options
context:
space:
mode:
authorMichael Kruse <llvm@meinersbur.de>2017-02-27 17:54:25 +0000
committerMichael Kruse <llvm@meinersbur.de>2017-02-27 17:54:25 +0000
commit6469380daabcf10a4c2daabb1f25a8a06f03b94e (patch)
tree996b6f3670a94aae602a336250cc957d976064bd /polly/cmake
parent47e7d7fe8562d2f509f26199b15e4ffc6f5de95e (diff)
downloadbcm5719-llvm-6469380daabcf10a4c2daabb1f25a8a06f03b94e.tar.gz
bcm5719-llvm-6469380daabcf10a4c2daabb1f25a8a06f03b94e.zip
[Cmake] Optionally use a system isl version.
This patch adds an option to build against a version of libisl already installed on the system. The installation is autodetected using the pkg-config file shipped with isl. The detection of the library is in the FindISL.cmake module that creates an imported target. Contributed-by: Philip Pfaffe <philip.pfaffe@gmail.com> Differential Revision: https://reviews.llvm.org/D30043 llvm-svn: 296361
Diffstat (limited to 'polly/cmake')
-rw-r--r--polly/cmake/FindISL.cmake24
1 files changed, 24 insertions, 0 deletions
diff --git a/polly/cmake/FindISL.cmake b/polly/cmake/FindISL.cmake
new file mode 100644
index 00000000000..613e86da943
--- /dev/null
+++ b/polly/cmake/FindISL.cmake
@@ -0,0 +1,24 @@
+find_package(PkgConfig REQUIRED)
+pkg_search_module(ISL isl)
+if (NOT ISL_FOUND EQUAL 1)
+ message(FATAL_ERROR "No libisl found on this system. Consider setting PKG_CONFIG_PATH.")
+endif()
+
+add_library(ISL INTERFACE IMPORTED)
+foreach (incl IN LISTS ISL_INCLUDE_DIRS)
+ set_property(TARGET ISL APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${incl})
+endforeach()
+
+foreach (libname IN LISTS ISL_LIBRARIES)
+ if (ISL_LIBRARY_DIRS)
+ foreach (dir IN LISTS ISL_LIBRARY_DIRS)
+ list(APPEND hints ${dir})
+ endforeach()
+ endif()
+ find_library(lib NAMES ${libname} HINTS ${hints} NO_DEFAULT_PATH)
+ set_property(TARGET ISL APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${lib})
+endforeach()
+
+foreach (opt IN LISTS ISL_CFLAGS ISL_CFLAGS_OTHER)
+ set_property(TARGET ISL APPEND PROPERTY INTERFACE_COMPILE_OPTIONS ${opt})
+endforeach()
OpenPOWER on IntegriCloud