diff --git a/polly/CMakeLists.txt b/polly/CMakeLists.txt --- a/polly/CMakeLists.txt +++ b/polly/CMakeLists.txt @@ -1,3 +1,5 @@ +include(GNUInstallDirs) + # Check if this is a in tree build. if (NOT DEFINED LLVM_MAIN_SRC_DIR) project(Polly) @@ -124,13 +126,13 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) install(DIRECTORY include/ - DESTINATION include + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" FILES_MATCHING PATTERN "*.h" ) install(DIRECTORY ${POLLY_BINARY_DIR}/include/ - DESTINATION include + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" FILES_MATCHING PATTERN "*.h" PATTERN "CMakeFiles" EXCLUDE diff --git a/polly/cmake/CMakeLists.txt b/polly/cmake/CMakeLists.txt --- a/polly/cmake/CMakeLists.txt +++ b/polly/cmake/CMakeLists.txt @@ -1,5 +1,6 @@ # Keep this in sync with llvm/cmake/CMakeLists.txt! +include(ExtendPath) include(FindPrefixFromConfig) set(LLVM_INSTALL_PACKAGE_DIR "lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm") @@ -83,17 +84,18 @@ # Generate PollyConfig.cmake for the install tree. unset(POLLY_EXPORTS) find_prefix_from_config(POLLY_CONFIG_CODE POLLY_INSTALL_PREFIX "${POLLY_INSTALL_PACKAGE_DIR}") -set(POLLY_CONFIG_LLVM_CMAKE_DIR "\${POLLY_INSTALL_PREFIX}/${LLVM_INSTALL_PACKAGE_DIR}") -set(POLLY_CONFIG_CMAKE_DIR "\${POLLY_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}") -set(POLLY_CONFIG_LIBRARY_DIRS "\${POLLY_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}") +extend_path(POLLY_CONFIG_LLVM_CMAKE_DIR "\${POLLY_INSTALL_PREFIX}" "${LLVM_INSTALL_PACKAGE_DIR}") +extend_path(POLLY_CONFIG_CMAKE_DIR "\${POLLY_INSTALL_PREFIX}" "${POLLY_INSTALL_PACKAGE_DIR}") +extend_path(POLLY_CONFIG_LIBRARY_DIRS "\${POLLY_INSTALL_PREFIX}" "lib${LLVM_LIBDIR_SUFFIX}") +extend_path(base_includedir "\${POLLY_INSTALL_PREFIX}" "${CMAKE_INSTALL_INCLUDEDIR}") if (POLLY_BUNDLED_ISL) set(POLLY_CONFIG_INCLUDE_DIRS - "\${POLLY_INSTALL_PREFIX}/include" - "\${POLLY_INSTALL_PREFIX}/include/polly" + "${base_includedir}" + "${base_includedir}/polly" ) else() set(POLLY_CONFIG_INCLUDE_DIRS - "\${POLLY_INSTALL_PREFIX}/include" + "${base_includedir}" ${ISL_INCLUDE_DIRS} ) endif() @@ -110,12 +112,12 @@ foreach(tgt IN LISTS POLLY_CONFIG_EXPORTED_TARGETS) get_target_property(tgt_type ${tgt} TYPE) if (tgt_type STREQUAL "EXECUTABLE") - set(tgt_prefix "bin/") + set(tgt_prefix "${CMAKE_INSTALL_BINDIR}") else() - set(tgt_prefix "lib/") + set(tgt_prefix "${CMAKE_INSTALL_LIBDIR}") endif() - set(tgt_path "\${POLLY_INSTALL_PREFIX}/${tgt_prefix}$") + extend_path(tgt_path "\${POLLY_INSTALL_PREFIX}" "${tgt_prefix}/$") if (NOT tgt_type STREQUAL "INTERFACE_LIBRARY") set(POLLY_EXPORTS diff --git a/polly/lib/External/CMakeLists.txt b/polly/lib/External/CMakeLists.txt --- a/polly/lib/External/CMakeLists.txt +++ b/polly/lib/External/CMakeLists.txt @@ -290,7 +290,7 @@ install(DIRECTORY ${ISL_SOURCE_DIR}/include/ ${ISL_BINARY_DIR}/include/ - DESTINATION include/polly + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/polly" FILES_MATCHING PATTERN "*.h" PATTERN "CMakeFiles" EXCLUDE