[polly] r296361 - [Cmake] Optionally use a system isl version.
Michael Kruse via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 27 09:54:25 PST 2017
Author: meinersbur
Date: Mon Feb 27 11:54:25 2017
New Revision: 296361
URL: http://llvm.org/viewvc/llvm-project?rev=296361&view=rev
Log:
[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 at gmail.com>
Differential Revision: https://reviews.llvm.org/D30043
Added:
polly/trunk/cmake/FindISL.cmake
Modified:
polly/trunk/CMakeLists.txt
polly/trunk/lib/CMakeLists.txt
polly/trunk/lib/External/CMakeLists.txt
polly/trunk/test/CMakeLists.txt
Modified: polly/trunk/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/CMakeLists.txt?rev=296361&r1=296360&r2=296361&view=diff
==============================================================================
--- polly/trunk/CMakeLists.txt (original)
+++ polly/trunk/CMakeLists.txt Mon Feb 27 11:54:25 2017
@@ -158,12 +158,24 @@ if (CUDALIB_FOUND)
INCLUDE_DIRECTORIES( ${CUDALIB_INCLUDE_DIR} )
endif(CUDALIB_FOUND)
+option(POLLY_BUNDLED_ISL "Use the bundled version of libisl included in Polly" ON)
+if (NOT POLLY_BUNDLED_ISL)
+ find_package(ISL MODULE REQUIRED)
+ message(STATUS "Using external libisl ${ISL_VERSION} in: ${ISL_PREFIX}")
+ set(ISL_TARGET ISL)
+else()
+ set(ISL_INCLUDE_DIRS
+ ${CMAKE_CURRENT_BINARY_DIR}/lib/External/isl/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/lib/External/isl/include
+ )
+ set(ISL_TARGET PollyISL)
+endif()
+
include_directories(
BEFORE
${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${ISL_INCLUDE_DIRS}
${CMAKE_CURRENT_SOURCE_DIR}/lib/External/JSON/include
- ${CMAKE_CURRENT_BINARY_DIR}/lib/External/isl/include
- ${CMAKE_CURRENT_SOURCE_DIR}/lib/External/isl/include
${CMAKE_CURRENT_SOURCE_DIR}/lib/External/pet/include
${CMAKE_CURRENT_SOURCE_DIR}/lib/External
${CMAKE_CURRENT_BINARY_DIR}/include
Added: polly/trunk/cmake/FindISL.cmake
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/cmake/FindISL.cmake?rev=296361&view=auto
==============================================================================
--- polly/trunk/cmake/FindISL.cmake (added)
+++ polly/trunk/cmake/FindISL.cmake Mon Feb 27 11:54:25 2017
@@ -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()
Modified: polly/trunk/lib/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/CMakeLists.txt?rev=296361&r1=296360&r2=296361&view=diff
==============================================================================
--- polly/trunk/lib/CMakeLists.txt (original)
+++ polly/trunk/lib/CMakeLists.txt Mon Feb 27 11:54:25 2017
@@ -66,7 +66,7 @@ if (GPU_CODEGEN)
target_link_libraries(Polly PollyPPCG)
endif (GPU_CODEGEN)
-target_link_libraries(Polly PollyISL)
+target_link_libraries(Polly ${ISL_TARGET})
if (BUILD_SHARED_LIBS)
target_link_libraries(Polly
Modified: polly/trunk/lib/External/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/CMakeLists.txt?rev=296361&r1=296360&r2=296361&view=diff
==============================================================================
--- polly/trunk/lib/External/CMakeLists.txt (original)
+++ polly/trunk/lib/External/CMakeLists.txt Mon Feb 27 11:54:25 2017
@@ -1,181 +1,182 @@
# External: Integer Set Library
-set(ISL_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/isl")
-set(ISL_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/isl")
-
-# Determine version of isl
-if (EXISTS "${ISL_SOURCE_DIR}/GIT_HEAD_ID")
- # The source comes from a 'make dist' archive
- file(READ "${ISL_SOURCE_DIR}/GIT_HEAD_ID" ISL_GIT_HEAD_ID)
- string(STRIP "${ISL_GIT_HEAD_ID}" ISL_GIT_HEAD_ID)
-elseif (EXISTS "${ISL_SOURCE_DIR}/gitversion.h")
- # The source directory is preconfigured
- file(READ "${ISL_SOURCE_DIR}/gitversion.h" GITVERSION_H)
- string(REGEX REPLACE ".*\\\"([^\\\"]*)\\\".*" "\\1" ISL_GIT_HEAD_ID "${GITVERSION_H}")
-elseif ()
- # Unknown revision
- # TODO: We could look for a .git and get the revision from HEAD
- set(ISL_GIT_HEAD_ID "UNKNOWN")
-endif ()
-
-message(STATUS "ISL version: ${ISL_GIT_HEAD_ID}")
-
-# Enable small integer optimization and imath
-set(USE_GMP_FOR_MP OFF)
-set(USE_IMATH_FOR_MP ON)
-set(USE_SMALL_INT_OPT ON)
-
-# Determine compiler characteristics
-include(CheckCSourceCompiles)
-
-# Like check_c_source_compiles, but sets the result to either
-# 0 (error while compiling) or 1 (compiled successfully)
-# Required for compatibility with autotool's AC_CHECK_DECLS
-function (check_c_source_compiles_numeric _prog _var)
- check_c_source_compiles("${_prog}" "${_var}")
- if ("${${_var}}")
- set("${_var}" 1 PARENT_SCOPE)
- else ()
- set("${_var}" 0 PARENT_SCOPE)
+if (POLLY_BUNDLED_ISL)
+ set(ISL_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/isl")
+ set(ISL_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/isl")
+
+ # Determine version of isl
+ if (EXISTS "${ISL_SOURCE_DIR}/GIT_HEAD_ID")
+ # The source comes from a 'make dist' archive
+ file(READ "${ISL_SOURCE_DIR}/GIT_HEAD_ID" ISL_GIT_HEAD_ID)
+ string(STRIP "${ISL_GIT_HEAD_ID}" ISL_GIT_HEAD_ID)
+ elseif (EXISTS "${ISL_SOURCE_DIR}/gitversion.h")
+ # The source directory is preconfigured
+ file(READ "${ISL_SOURCE_DIR}/gitversion.h" GITVERSION_H)
+ string(REGEX REPLACE ".*\\\"([^\\\"]*)\\\".*" "\\1" ISL_GIT_HEAD_ID "${GITVERSION_H}")
+ elseif ()
+ # Unknown revision
+ # TODO: We could look for a .git and get the revision from HEAD
+ set(ISL_GIT_HEAD_ID "UNKNOWN")
endif ()
-endfunction ()
-# Check for the existance of a type
-function (check_c_type_exists _type _files _variable)
- set(_includes "")
- foreach (file_name ${_files})
- set(_includes "${_includes}#include<${file_name}>\n")
- endforeach()
- check_c_source_compiles("
+ message(STATUS "ISL version: ${ISL_GIT_HEAD_ID}")
+
+ # Enable small integer optimization and imath
+ set(USE_GMP_FOR_MP OFF)
+ set(USE_IMATH_FOR_MP ON)
+ set(USE_SMALL_INT_OPT ON)
+
+ # Determine compiler characteristics
+ include(CheckCSourceCompiles)
+
+ # Like check_c_source_compiles, but sets the result to either
+ # 0 (error while compiling) or 1 (compiled successfully)
+ # Required for compatibility with autotool's AC_CHECK_DECLS
+ function (check_c_source_compiles_numeric _prog _var)
+ check_c_source_compiles("${_prog}" "${_var}")
+ if ("${${_var}}")
+ set("${_var}" 1 PARENT_SCOPE)
+ else ()
+ set("${_var}" 0 PARENT_SCOPE)
+ endif ()
+ endfunction ()
+
+ # Check for the existance of a type
+ function (check_c_type_exists _type _files _variable)
+ set(_includes "")
+ foreach (file_name ${_files})
+ set(_includes "${_includes}#include<${file_name}>\n")
+ endforeach()
+ check_c_source_compiles("
${_includes}
${_type} typeVar;
int main() {
- return 0;
+ return 0;
}
" ${_variable})
-endfunction ()
+ endfunction ()
-check_c_source_compiles("
+ check_c_source_compiles("
int func(void) __attribute__((__warn_unused_result__));
int main() { return 0; }
" HAS_ATTRIBUTE_WARN_UNUSED_RESULT)
-set(GCC_WARN_UNUSED_RESULT)
-if (HAS_ATTRIBUTE_WARN_UNUSED_RESULT)
- set(GCC_WARN_UNUSED_RESULT "__attribute__((__warn_unused_result__))")
-endif ()
+ set(GCC_WARN_UNUSED_RESULT)
+ if (HAS_ATTRIBUTE_WARN_UNUSED_RESULT)
+ set(GCC_WARN_UNUSED_RESULT "__attribute__((__warn_unused_result__))")
+ endif ()
-check_c_source_compiles("
+ check_c_source_compiles("
__attribute__ ((unused)) static void foo(void);
int main() { return 0; }
" HAVE___ATTRIBUTE__)
-check_c_source_compiles_numeric("
+ check_c_source_compiles_numeric("
#include <strings.h>
int main() { (void)ffs(0); return 0; }
" HAVE_DECL_FFS)
-check_c_source_compiles_numeric("
+ check_c_source_compiles_numeric("
int main() { (void)__builtin_ffs(0); return 0; }
" HAVE_DECL___BUILTIN_FFS)
-check_c_source_compiles_numeric("
+ check_c_source_compiles_numeric("
#include <intrin.h>
int main() { (void)_BitScanForward(NULL, 0); return 0; }
" HAVE_DECL__BITSCANFORWARD)
-if (NOT HAVE_DECL_FFS AND
- NOT HAVE_DECL___BUILTIN_FFS AND
- NOT HAVE_DECL__BITSCANFORWARD)
- message(FATAL_ERROR "No ffs implementation found")
-endif ()
+ if (NOT HAVE_DECL_FFS AND
+ NOT HAVE_DECL___BUILTIN_FFS AND
+ NOT HAVE_DECL__BITSCANFORWARD)
+ message(FATAL_ERROR "No ffs implementation found")
+ endif ()
-check_c_source_compiles_numeric("
+ check_c_source_compiles_numeric("
#include <strings.h>
int main() { (void)strcasecmp(\"\", \"\"); return 0; }
" HAVE_DECL_STRCASECMP)
-check_c_source_compiles_numeric("
+ check_c_source_compiles_numeric("
#include <string.h>
int main() { (void)_stricmp(\"\", \"\"); return 0; }
" HAVE_DECL__STRICMP)
-if (NOT HAVE_DECL_STRCASECMP AND NOT HAVE_DECL__STRICMP)
- message(FATAL_ERROR "No strcasecmp implementation found")
-endif ()
+ if (NOT HAVE_DECL_STRCASECMP AND NOT HAVE_DECL__STRICMP)
+ message(FATAL_ERROR "No strcasecmp implementation found")
+ endif ()
-check_c_source_compiles_numeric("
+ check_c_source_compiles_numeric("
#include <strings.h>
int main() { (void)strncasecmp(\"\", \"\", 0); return 0; }
" HAVE_DECL_STRNCASECMP)
-check_c_source_compiles_numeric("
+ check_c_source_compiles_numeric("
#include <string.h>
int main() { (void)_strnicmp(\"\", \"\", 0); return 0; }
" HAVE_DECL__STRNICMP)
-if (NOT HAVE_DECL_STRNCASECMP AND NOT HAVE_DECL__STRNICMP)
- message(FATAL_ERROR "No strncasecmp implementation found")
-endif ()
+ if (NOT HAVE_DECL_STRNCASECMP AND NOT HAVE_DECL__STRNICMP)
+ message(FATAL_ERROR "No strncasecmp implementation found")
+ endif ()
-check_c_source_compiles_numeric("
+ check_c_source_compiles_numeric("
#include <stdio.h>
int main() { snprintf((void*)0, 0, \" \"); return 0; }
" HAVE_DECL_SNPRINTF)
-check_c_source_compiles_numeric("
+ check_c_source_compiles_numeric("
#include <stdio.h>
int main() { _snprintf((void*)0, 0, \" \"); return 0; }
" HAVE_DECL__SNPRINTF)
-if (NOT HAVE_DECL_SNPRINTF AND NOT HAVE_DECL__SNPRINTF)
- message(FATAL_ERROR "No snprintf implementation found")
-endif ()
-
-
-check_c_type_exists(uint8_t "" HAVE_UINT8T)
-check_c_type_exists(uint8_t "stdint.h" HAVE_STDINT_H)
-check_c_type_exists(uint8_t "inttypes.h" HAVE_INTTYPES_H)
-check_c_type_exists(uint8_t "sys/types.h" HAVE_SYS_INTTYPES_H)
-if (HAVE_UINT8T)
- set(INCLUDE_STDINT_H "")
-elseif (HAVE_STDINT_H)
- set(INCLUDE_STDINT_H "#include <stdint.h>")
-elseif (HAVE_INTTYPES_H)
- set(INCLUDE_STDINT_H "#include <inttypes.h>")
-elseif (HAVE_SYS_INTTYPES_H)
- set(INCLUDE_STDINT_H "#include <sys/inttypes.h>")
-else ()
- message(FATAL_ERROR "No stdint.h or compatible found")
-endif ()
+ if (NOT HAVE_DECL_SNPRINTF AND NOT HAVE_DECL__SNPRINTF)
+ message(FATAL_ERROR "No snprintf implementation found")
+ endif ()
-# Write configure result
-# configure_file(... COPYONLY) avoids that the time stamp changes if the file is identical
-file(WRITE "${ISL_BINARY_DIR}/gitversion.h.tmp"
- "#define GIT_HEAD_ID \"${ISL_GIT_HEAD_ID}\"")
-configure_file("${ISL_BINARY_DIR}/gitversion.h.tmp"
- "${ISL_BINARY_DIR}/gitversion.h" COPYONLY)
-
-file(WRITE "${ISL_BINARY_DIR}/include/isl/stdint.h.tmp"
- "${INCLUDE_STDINT_H}\n")
-configure_file("${ISL_BINARY_DIR}/include/isl/stdint.h.tmp"
- "${ISL_BINARY_DIR}/include/isl/stdint.h" COPYONLY)
-configure_file("isl_config.h.cmake" "${ISL_BINARY_DIR}/isl_config.h")
-configure_file("isl_srcdir.c.cmake" "${ISL_BINARY_DIR}/isl_srcdir.c")
+ check_c_type_exists(uint8_t "" HAVE_UINT8T)
+ check_c_type_exists(uint8_t "stdint.h" HAVE_STDINT_H)
+ check_c_type_exists(uint8_t "inttypes.h" HAVE_INTTYPES_H)
+ check_c_type_exists(uint8_t "sys/types.h" HAVE_SYS_INTTYPES_H)
+ if (HAVE_UINT8T)
+ set(INCLUDE_STDINT_H "")
+ elseif (HAVE_STDINT_H)
+ set(INCLUDE_STDINT_H "#include <stdint.h>")
+ elseif (HAVE_INTTYPES_H)
+ set(INCLUDE_STDINT_H "#include <inttypes.h>")
+ elseif (HAVE_SYS_INTTYPES_H)
+ set(INCLUDE_STDINT_H "#include <sys/inttypes.h>")
+ else ()
+ message(FATAL_ERROR "No stdint.h or compatible found")
+ endif ()
-include_directories(BEFORE
- ${ISL_BINARY_DIR}
- ${ISL_SOURCE_DIR}/imath
- ${ISL_SOURCE_DIR}/include
- ${ISL_SOURCE_DIR}
-)
+ # Write configure result
+ # configure_file(... COPYONLY) avoids that the time stamp changes if the file is identical
+ file(WRITE "${ISL_BINARY_DIR}/gitversion.h.tmp"
+ "#define GIT_HEAD_ID \"${ISL_GIT_HEAD_ID}\"")
+ configure_file("${ISL_BINARY_DIR}/gitversion.h.tmp"
+ "${ISL_BINARY_DIR}/gitversion.h" COPYONLY)
+
+ file(WRITE "${ISL_BINARY_DIR}/include/isl/stdint.h.tmp"
+ "${INCLUDE_STDINT_H}\n")
+ configure_file("${ISL_BINARY_DIR}/include/isl/stdint.h.tmp"
+ "${ISL_BINARY_DIR}/include/isl/stdint.h" COPYONLY)
+
+ configure_file("isl_config.h.cmake" "${ISL_BINARY_DIR}/isl_config.h")
+ configure_file("isl_srcdir.c.cmake" "${ISL_BINARY_DIR}/isl_srcdir.c")
+
+ include_directories(BEFORE
+ ${ISL_BINARY_DIR}
+ ${ISL_SOURCE_DIR}/imath
+ ${ISL_SOURCE_DIR}/include
+ ${ISL_SOURCE_DIR}
+ )
-# ISL files to compile
-set (ISL_FILES
+ # ISL files to compile
+ set (ISL_FILES
isl/basis_reduction_tab.c
isl/isl_aff.c
isl/isl_affine_hull.c
@@ -258,36 +259,36 @@ set (ISL_FILES
isl/imath/imrat.c
)
-add_polly_library(PollyISL
- ${ISL_FILES}
-)
+ add_polly_library(PollyISL
+ ${ISL_FILES}
+ )
-# TODO: optionally use system isl instead
-if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
- install(DIRECTORY
- ${ISL_SOURCE_DIR}/include/
- ${ISL_BINARY_DIR}/include/
- DESTINATION include/polly
- FILES_MATCHING
- PATTERN "*.h"
- PATTERN "CMakeFiles" EXCLUDE
- PATTERN ".svn" EXCLUDE
- )
-endif()
+ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
+ install(DIRECTORY
+ ${ISL_SOURCE_DIR}/include/
+ ${ISL_BINARY_DIR}/include/
+ DESTINATION include/polly
+ FILES_MATCHING
+ PATTERN "*.h"
+ PATTERN "CMakeFiles" EXCLUDE
+ PATTERN ".svn" EXCLUDE
+ )
+ endif()
-add_executable(polly-isl-test
- isl/isl_test.c
-)
-set_target_properties(polly-isl-test PROPERTIES FOLDER "Polly")
+ add_executable(polly-isl-test
+ isl/isl_test.c
+ )
+ set_target_properties(polly-isl-test PROPERTIES FOLDER "Polly")
-target_link_libraries(polly-isl-test
- PollyISL
-)
+ target_link_libraries(polly-isl-test
+ PollyISL
+ )
-# ISL requires at least C99 to compile. gcc < 5.0 use -std=gnu89 as default.
-target_enable_c99(PollyISL)
-target_enable_c99(polly-isl-test)
+ # ISL requires at least C99 to compile. gcc < 5.0 use -std=gnu89 as default.
+ target_enable_c99(PollyISL)
+ target_enable_c99(polly-isl-test)
+endif (POLLY_BUNDLED_ISL)
set(PET_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/pet")
set(PPCG_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ppcg")
@@ -335,7 +336,7 @@ add_polly_library(PollyPPCG
${PPCG_FILES}
)
-target_link_libraries(PollyPPCG PollyISL)
+target_link_libraries(PollyPPCG ${ISL_TARGET})
# Disable warnings for upstream projects.
if (MSVC)
@@ -346,13 +347,16 @@ if (MSVC)
-wd4201 # nonstandard extension used: nameless struct/union
-wd4334 # 'operator': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
)
- target_compile_options(PollyISL PRIVATE ${DISABLE_WARNING_FLAGS})
- target_compile_options(polly-isl-test PRIVATE ${DISABLE_WARNING_FLAGS})
+ if (POLLY_BUNDLED_ISL)
+ target_compile_options(PollyISL PRIVATE ${DISABLE_WARNING_FLAGS})
+ target_compile_options(polly-isl-test PRIVATE ${DISABLE_WARNING_FLAGS})
+ endif (POLLY_BUNDLED_ISL)
target_compile_options(PollyPPCG PRIVATE ${DISABLE_WARNING_FLAGS})
else ()
- set_target_properties(PollyISL polly-isl-test PollyPPCG PROPERTIES
- COMPILE_FLAGS "-w"
- )
+ if (POLLY_BUNDLED_ISL)
+ set_target_properties(PollyISL polly-isl-test PROPERTIES COMPILE_FLAGS "-w")
+ endif (POLLY_BUNDLED_ISL)
+ set_target_properties(PollyPPCG PROPERTIES COMPILE_FLAGS "-w")
endif ()
if(MSVC)
Modified: polly/trunk/test/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/CMakeLists.txt?rev=296361&r1=296360&r2=296361&view=diff
==============================================================================
--- polly/trunk/test/CMakeLists.txt (original)
+++ polly/trunk/test/CMakeLists.txt Mon Feb 27 11:54:25 2017
@@ -20,7 +20,9 @@ if (NOT DEFINED LLVM_MAIN_SRC_DIR)
# We are building polly out of tree, adjust the settings.
# FIXME: FileCheck is not available in llvm install directory at the moment.
set(LLVM_LIT ${LLVM_INSTALL_ROOT}/bin/llvm-lit)
- set(POLLY_TEST_DEPS LLVMPolly polly-isl-test)
+ if (POLLY_BUNDLED_ISL)
+ set(POLLY_TEST_DEPS LLVMPolly polly-isl-test)
+ endif (POLLY_BUNDLED_ISL)
if (POLLY_GTEST_AVAIL)
list(APPEND POLLY_TEST_DEPS PollyUnitTests)
endif ()
@@ -101,21 +103,27 @@ if (NOT DEFINED LLVM_MAIN_SRC_DIR)
${CMAKE_CURRENT_SOURCE_DIR}/UnitIsl/lit.site.cfg.in
${CMAKE_CURRENT_BINARY_DIR}/UnitIsl/lit.site.cfg)
- add_custom_target(check-polly-isl
- command ${LLVM_LIT}
- --param polly_site_config=${CMAKE_CURRENT_BINARY_DIR}/UnitIsl/lit.site.cfg
- --param build_config=${CMAKE_CFG_INTDIR}
- -sv ${POLLY_TEST_EXTRA_ARGS}
- ${CMAKE_CURRENT_BINARY_DIR}
- DEPENDS polly-isl-test
- COMMENT "Running isl unit tests")
- set_target_properties(check-polly-isl PROPERTIES FOLDER "Polly")
+
+ if (POLLY_BUNDLED_ISL)
+ add_custom_target(check-polly-isl
+ command ${LLVM_LIT}
+ --param polly_site_config=${CMAKE_CURRENT_BINARY_DIR}/UnitIsl/lit.site.cfg
+ --param build_config=${CMAKE_CFG_INTDIR}
+ -sv ${POLLY_TEST_EXTRA_ARGS}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ DEPENDS polly-isl-test
+ COMMENT "Running isl unit tests")
+ set_target_properties(check-polly-isl PROPERTIES FOLDER "Polly")
+ endif (POLLY_BUNDLED_ISL)
endif()
else (NOT DEFINED LLVM_MAIN_SRC_DIR)
set(LLVM_LIT ${LLVM_TOOLS_BINARY_DIR}/llvm-lit)
- set(POLLY_TEST_DEPS llvm-config opt LLVMPolly FileCheck not polly-isl-test)
+ set(POLLY_TEST_DEPS llvm-config opt LLVMPolly FileCheck not)
+ if (POLLY_BUNDLED_ISL)
+ list(APPEND POLLY_TEST_DEPS polly-isl-test)
+ endif()
if (POLLY_GTEST_AVAIL)
list(APPEND POLLY_TEST_DEPS PollyUnitTests)
endif ()
@@ -158,12 +166,14 @@ else (NOT DEFINED LLVM_MAIN_SRC_DIR)
${CMAKE_CURRENT_SOURCE_DIR}/UnitIsl/lit.site.cfg.in
${CMAKE_CURRENT_BINARY_DIR}/UnitIsl/lit.site.cfg)
- add_lit_testsuite(check-polly-isl "Running isl unit tests only"
- ${CMAKE_CURRENT_BINARY_DIR}/UnitIsl
- PARAMS polly_site_config=${CMAKE_CURRENT_BINARY_DIR}/UnitIsl/lit.site.cfg
- DEPENDS polly-isl-test
- )
- set_target_properties(check-polly-isl PROPERTIES FOLDER "Polly")
+ if (POLLY_BUNDLED_ISL)
+ add_lit_testsuite(check-polly-isl "Running isl unit tests only"
+ ${CMAKE_CURRENT_BINARY_DIR}/UnitIsl
+ PARAMS polly_site_config=${CMAKE_CURRENT_BINARY_DIR}/UnitIsl/lit.site.cfg
+ DEPENDS polly-isl-test
+ )
+ set_target_properties(check-polly-isl PROPERTIES FOLDER "Polly")
+ endif (POLLY_BUNDLED_ISL)
# Run polly-check-format as part of polly-check only if we are compiling with
# clang, so clang-format is available.
More information about the llvm-commits
mailing list