summaryrefslogtreecommitdiff
path: root/flang/cmake
diff options
context:
space:
mode:
authorSteve Scalpone <sscalpone@nvidia.com>2018-02-14 09:06:47 -0800
committerGitHub <noreply@github.com>2018-02-14 09:06:47 -0800
commitac364b17865ded9940256b90c70cf250ef6a237f (patch)
treeb10ebe4cb9c091fee17162d45264e3dc0849270b /flang/cmake
parent0f07d4219499d25702e2505980faf87ffc754b94 (diff)
downloadllvm-ac364b17865ded9940256b90c70cf250ef6a237f.tar.gz
[flang] Revert "Schauveau cmake"
Original-commit: flang-compiler/f18@be33dc182a9bcfa664095886ca62b3b1db4eb797 Reviewed-on: https://github.com/flang-compiler/f18/pull/7
Diffstat (limited to 'flang/cmake')
-rw-r--r--flang/cmake/modules/AddFlang.cmake164
-rw-r--r--flang/cmake/modules/CMakeLists.txt64
-rw-r--r--flang/cmake/modules/FindZ3.cmake28
-rw-r--r--flang/cmake/modules/FlangConfig.cmake.in13
4 files changed, 0 insertions, 269 deletions
diff --git a/flang/cmake/modules/AddFlang.cmake b/flang/cmake/modules/AddFlang.cmake
deleted file mode 100644
index e592d8b57f06..000000000000
--- a/flang/cmake/modules/AddFlang.cmake
+++ /dev/null
@@ -1,164 +0,0 @@
-function(flang_tablegen)
- # Syntax:
- # flang_tablegen output-file [tablegen-arg ...] SOURCE source-file
- # [[TARGET cmake-target-name] [DEPENDS extra-dependency ...]]
- #
- # Generates a custom command for invoking tblgen as
- #
- # tblgen source-file -o=output-file tablegen-arg ...
- #
- # and, if cmake-target-name is provided, creates a custom target for
- # executing the custom command depending on output-file. It is
- # possible to list more files to depend after DEPENDS.
-
- cmake_parse_arguments(CTG "" "SOURCE;TARGET" "" ${ARGN})
-
- if( NOT CTG_SOURCE )
- message(FATAL_ERROR "SOURCE source-file required by flang_tablegen")
- endif()
-
- set( LLVM_TARGET_DEFINITIONS ${CTG_SOURCE} )
- tablegen(FLANG ${CTG_UNPARSED_ARGUMENTS})
-
- if(CTG_TARGET)
- add_public_tablegen_target(${CTG_TARGET})
- set_target_properties( ${CTG_TARGET} PROPERTIES FOLDER "FLANG tablegenning")
- set_property(GLOBAL APPEND PROPERTY FLANG_TABLEGEN_TARGETS ${CTG_TARGET})
- endif()
-endfunction(flang_tablegen)
-
-macro(set_flang_windows_version_resource_properties name)
- if(DEFINED windows_resource_file)
- set_windows_version_resource_properties(${name} ${windows_resource_file}
- VERSION_MAJOR ${FLANG_VERSION_MAJOR}
- VERSION_MINOR ${FLANG_VERSION_MINOR}
- VERSION_PATCHLEVEL ${FLANG_VERSION_PATCHLEVEL}
- VERSION_STRING "${FLANG_VERSION} (${BACKEND_PACKAGE_STRING})"
- PRODUCT_NAME "flang")
- endif()
-endmacro()
-
-macro(add_flang_subdirectory name)
- add_llvm_subdirectory(FLANG TOOL ${name})
-endmacro()
-
-macro(add_flang_library name)
- cmake_parse_arguments(ARG
- "SHARED"
- ""
- "ADDITIONAL_HEADERS"
- ${ARGN})
- set(srcs)
- if(MSVC_IDE OR XCODE)
- # Add public headers
- file(RELATIVE_PATH lib_path
- ${FLANG_SOURCE_DIR}/lib/
- ${CMAKE_CURRENT_SOURCE_DIR}
- )
- if(NOT lib_path MATCHES "^[.][.]")
- file( GLOB_RECURSE headers
- ${FLANG_SOURCE_DIR}/include/flang/${lib_path}/*.h
- ${FLANG_SOURCE_DIR}/include/flang/${lib_path}/*.def
- )
- set_source_files_properties(${headers} PROPERTIES HEADER_FILE_ONLY ON)
-
- file( GLOB_RECURSE tds
- ${FLANG_SOURCE_DIR}/include/flang/${lib_path}/*.td
- )
- source_group("TableGen descriptions" FILES ${tds})
- set_source_files_properties(${tds}} PROPERTIES HEADER_FILE_ONLY ON)
-
- if(headers OR tds)
- set(srcs ${headers} ${tds})
- endif()
- endif()
- endif(MSVC_IDE OR XCODE)
- if(srcs OR ARG_ADDITIONAL_HEADERS)
- set(srcs
- ADDITIONAL_HEADERS
- ${srcs}
- ${ARG_ADDITIONAL_HEADERS} # It may contain unparsed unknown args.
- )
- endif()
- if(ARG_SHARED)
- set(ARG_ENABLE_SHARED SHARED)
- endif()
- llvm_add_library(${name} ${ARG_ENABLE_SHARED} ${ARG_UNPARSED_ARGUMENTS} ${srcs})
-
- if(TARGET ${name})
- target_link_libraries(${name} INTERFACE ${LLVM_COMMON_LIBS})
-
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "libflang")
-
- if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
- NOT LLVM_DISTRIBUTION_COMPONENTS)
- set(export_to_flangtargets EXPORT FlangTargets)
- set_property(GLOBAL PROPERTY FLANG_HAS_EXPORTS True)
- endif()
-
- install(TARGETS ${name}
- COMPONENT ${name}
- ${export_to_flangtargets}
- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
- RUNTIME DESTINATION bin)
-
- if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES)
- add_custom_target(install-${name}
- DEPENDS ${name}
- COMMAND "${CMAKE_COMMAND}"
- -DCMAKE_INSTALL_COMPONENT=${name}
- -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
- endif()
- endif()
- set_property(GLOBAL APPEND PROPERTY FLANG_EXPORTS ${name})
- else()
- # Add empty "phony" target
- add_custom_target(${name})
- endif()
-
- set_target_properties(${name} PROPERTIES FOLDER "FLANG libraries")
- set_flang_windows_version_resource_properties(${name})
-endmacro(add_flang_library)
-
-macro(add_flang_executable name)
- add_llvm_executable( ${name} ${ARGN} )
- set_target_properties(${name} PROPERTIES FOLDER "FLANG executables")
- set_flang_windows_version_resource_properties(${name})
-endmacro(add_flang_executable)
-
-macro(add_flang_tool name)
- if (NOT FLANG_BUILD_TOOLS)
- set(EXCLUDE_FROM_ALL ON)
- endif()
-
- add_flang_executable(${name} ${ARGN})
-
- if (FLANG_BUILD_TOOLS)
- if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
- NOT LLVM_DISTRIBUTION_COMPONENTS)
- set(export_to_flangtargets EXPORT FlangTargets)
- set_property(GLOBAL PROPERTY FLANG_HAS_EXPORTS True)
- endif()
-
- install(TARGETS ${name}
- ${export_to_flangtargets}
- RUNTIME DESTINATION bin
- COMPONENT ${name})
-
- if(NOT CMAKE_CONFIGURATION_TYPES)
- add_custom_target(install-${name}
- DEPENDS ${name}
- COMMAND "${CMAKE_COMMAND}"
- -DCMAKE_INSTALL_COMPONENT=${name}
- -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
- endif()
- set_property(GLOBAL APPEND PROPERTY FLANG_EXPORTS ${name})
- endif()
-endmacro()
-
-macro(add_flang_symlink name dest)
- add_llvm_tool_symlink(${name} ${dest} ALWAYS_GENERATE)
- # Always generate install targets
- llvm_install_symlink(${name} ${dest} ALWAYS_GENERATE)
-endmacro()
diff --git a/flang/cmake/modules/CMakeLists.txt b/flang/cmake/modules/CMakeLists.txt
deleted file mode 100644
index 5a24521933c6..000000000000
--- a/flang/cmake/modules/CMakeLists.txt
+++ /dev/null
@@ -1,64 +0,0 @@
-# Generate a list of CMake library targets so that other CMake projects can
-# link against them. LLVM calls its version of this file LLVMExports.cmake, but
-# the usual CMake convention seems to be ${Project}Targets.cmake.
-set(FLANG_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/flang)
-set(flang_cmake_builddir "${CMAKE_BINARY_DIR}/${FLANG_INSTALL_PACKAGE_DIR}")
-
-# Keep this in sync with llvm/cmake/CMakeLists.txt!
-set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm)
-set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}")
-
-get_property(FLANG_EXPORTS GLOBAL PROPERTY FLANG_EXPORTS)
-export(TARGETS ${FLANG_EXPORTS} FILE ${flang_cmake_builddir}/FlangTargets.cmake)
-
-# Generate FlangConfig.cmake for the build tree.
-set(FLANG_CONFIG_CMAKE_DIR "${flang_cmake_builddir}")
-set(FLANG_CONFIG_LLVM_CMAKE_DIR "${llvm_cmake_builddir}")
-set(FLANG_CONFIG_EXPORTS_FILE "${flang_cmake_builddir}/FlangTargets.cmake")
-set(FLANG_CONFIG_INCLUDE_DIRS
- "${FLANG_SOURCE_DIR}/include"
- "${FLANG_BINARY_DIR}/include"
- )
-configure_file(
- ${CMAKE_CURRENT_SOURCE_DIR}/FlangConfig.cmake.in
- ${flang_cmake_builddir}/FlangConfig.cmake
- @ONLY)
-set(FLANG_CONFIG_CMAKE_DIR)
-set(FLANG_CONFIG_LLVM_CMAKE_DIR)
-set(FLANG_CONFIG_EXPORTS_FILE)
-
-# Generate FlangConfig.cmake for the install tree.
-set(FLANG_CONFIG_CODE "
-# Compute the installation prefix from this LLVMConfig.cmake file location.
-get_filename_component(FLANG_INSTALL_PREFIX \"\${CMAKE_CURRENT_LIST_FILE}\" PATH)")
-# Construct the proper number of get_filename_component(... PATH)
-# calls to compute the installation prefix.
-string(REGEX REPLACE "/" ";" _count "${FLANG_INSTALL_PACKAGE_DIR}")
-foreach(p ${_count})
- set(FLANG_CONFIG_CODE "${FLANG_CONFIG_CODE}
-get_filename_component(FLANG_INSTALL_PREFIX \"\${FLANG_INSTALL_PREFIX}\" PATH)")
-endforeach(p)
-set(FLANG_CONFIG_CMAKE_DIR "\${FLANG_INSTALL_PREFIX}/${FLANG_INSTALL_PACKAGE_DIR}")
-set(FLANG_CONFIG_LLVM_CMAKE_DIR "\${FLANG_INSTALL_PREFIX}/${LLVM_INSTALL_PACKAGE_DIR}")
-set(FLANG_CONFIG_EXPORTS_FILE "\${FLANG_CMAKE_DIR}/FlangTargets.cmake")
-set(FLANG_CONFIG_INCLUDE_DIRS
- "\${FLANG_INSTALL_PREFIX}/include"
- )
-configure_file(
- ${CMAKE_CURRENT_SOURCE_DIR}/FlangConfig.cmake.in
- ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/FlangConfig.cmake
- @ONLY)
-set(FLANG_CONFIG_CODE)
-set(FLANG_CONFIG_CMAKE_DIR)
-set(FLANG_CONFIG_EXPORTS_FILE)
-
-if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
- get_property(flang_has_exports GLOBAL PROPERTY FLANG_HAS_EXPORTS)
- if(flang_has_exports)
- install(EXPORT FlangTargets DESTINATION ${FLANG_INSTALL_PACKAGE_DIR})
- endif()
-
- install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/FlangConfig.cmake
- DESTINATION ${FLANG_INSTALL_PACKAGE_DIR})
-endif()
diff --git a/flang/cmake/modules/FindZ3.cmake b/flang/cmake/modules/FindZ3.cmake
deleted file mode 100644
index 779ef928da1b..000000000000
--- a/flang/cmake/modules/FindZ3.cmake
+++ /dev/null
@@ -1,28 +0,0 @@
-find_path(Z3_INCLUDE_DIR NAMES z3.h
- PATH_SUFFIXES libz3 z3
- )
-
-find_library(Z3_LIBRARIES NAMES z3 libz3
- )
-
-find_program(Z3_EXECUTABLE z3)
-
-if(Z3_INCLUDE_DIR AND Z3_EXECUTABLE)
- execute_process (COMMAND ${Z3_EXECUTABLE} -version
- OUTPUT_VARIABLE libz3_version_str
- ERROR_QUIET
- OUTPUT_STRIP_TRAILING_WHITESPACE)
-
- string(REGEX REPLACE "^Z3 version ([0-9.]+)" "\\1"
- Z3_VERSION_STRING "${libz3_version_str}")
- unset(libz3_version_str)
-endif()
-
-# handle the QUIETLY and REQUIRED arguments and set Z3_FOUND to TRUE if
-# all listed variables are TRUE
-include(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Z3
- REQUIRED_VARS Z3_LIBRARIES Z3_INCLUDE_DIR
- VERSION_VAR Z3_VERSION_STRING)
-
-mark_as_advanced(Z3_INCLUDE_DIR Z3_LIBRARIES)
diff --git a/flang/cmake/modules/FlangConfig.cmake.in b/flang/cmake/modules/FlangConfig.cmake.in
deleted file mode 100644
index 2d9a4420e6e6..000000000000
--- a/flang/cmake/modules/FlangConfig.cmake.in
+++ /dev/null
@@ -1,13 +0,0 @@
-# This file allows users to call find_package(FLANG) and pick up our targets.
-
-@FLANG_CONFIG_CODE@
-
-find_package(LLVM REQUIRED CONFIG
- HINTS "@FLANG_CONFIG_LLVM_CMAKE_DIR@")
-
-set(FLANG_EXPORTED_TARGETS "@FLANG_EXPORTS@")
-set(FLANG_CMAKE_DIR "@FLANG_CONFIG_CMAKE_DIR@")
-set(FLANG_INCLUDE_DIRS "@FLANG_CONFIG_INCLUDE_DIRS@")
-
-# Provide all our library targets to users.
-include("@FLANG_CONFIG_EXPORTS_FILE@")