diff options
author | Michael Kruse <llvm@meinersbur.de> | 2017-02-27 17:54:25 +0000 |
---|---|---|
committer | Michael Kruse <llvm@meinersbur.de> | 2017-02-27 17:54:25 +0000 |
commit | 6469380daabcf10a4c2daabb1f25a8a06f03b94e (patch) | |
tree | 996b6f3670a94aae602a336250cc957d976064bd /polly/cmake | |
parent | 47e7d7fe8562d2f509f26199b15e4ffc6f5de95e (diff) | |
download | llvm-6469380daabcf10a4c2daabb1f25a8a06f03b94e.zip llvm-6469380daabcf10a4c2daabb1f25a8a06f03b94e.tar.gz llvm-6469380daabcf10a4c2daabb1f25a8a06f03b94e.tar.bz2 |
[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.cmake | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/polly/cmake/FindISL.cmake b/polly/cmake/FindISL.cmake new file mode 100644 index 0000000..613e86d --- /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() |