[llvm-commits] [llvm] r110560 - in /llvm/trunk: CMakeLists.txt cmake/modules/CMakeLists.txt cmake/modules/LLVM.cmake cmake/modules/LLVMConfig.cmake

Oscar Fuentes ofv at wanadoo.es
Sun Aug 8 20:26:43 PDT 2010


Author: ofv
Date: Sun Aug  8 22:26:43 2010
New Revision: 110560

URL: http://llvm.org/viewvc/llvm-project?rev=110560&view=rev
Log:
CMake: system for providing llvm-config-like features to the user.

The user can use a cmake function for obtaining the LLVM libraries
corresponding to a list of LLVM components.

Added:
    llvm/trunk/cmake/modules/CMakeLists.txt
    llvm/trunk/cmake/modules/LLVM.cmake
Modified:
    llvm/trunk/CMakeLists.txt
    llvm/trunk/cmake/modules/LLVMConfig.cmake

Modified: llvm/trunk/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/CMakeLists.txt?rev=110560&r1=110559&r2=110560&view=diff
==============================================================================
--- llvm/trunk/CMakeLists.txt (original)
+++ llvm/trunk/CMakeLists.txt Sun Aug  8 22:26:43 2010
@@ -361,6 +361,8 @@
 option(LLVM_BUILD_EXAMPLES "Build LLVM example programs." OFF)
 add_subdirectory(examples)
 
+add_subdirectory(cmake/modules)
+
 install(DIRECTORY include/
   DESTINATION include
   FILES_MATCHING

Added: llvm/trunk/cmake/modules/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/CMakeLists.txt?rev=110560&view=auto
==============================================================================
--- llvm/trunk/cmake/modules/CMakeLists.txt (added)
+++ llvm/trunk/cmake/modules/CMakeLists.txt Sun Aug  8 22:26:43 2010
@@ -0,0 +1,11 @@
+set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/share/llvm/cmake")
+
+configure_file(
+  LLVM.cmake
+  ${llvm_cmake_builddir}/LLVM.cmake)
+
+install(FILES
+  ${llvm_cmake_builddir}/LLVM.cmake
+  LLVMConfig.cmake
+  LLVMLibDeps.cmake
+  DESTINATION share/llvm/cmake)

Added: llvm/trunk/cmake/modules/LLVM.cmake
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/LLVM.cmake?rev=110560&view=auto
==============================================================================
--- llvm/trunk/cmake/modules/LLVM.cmake (added)
+++ llvm/trunk/cmake/modules/LLVM.cmake Sun Aug  8 22:26:43 2010
@@ -0,0 +1,19 @@
+set(LLVM_COMMON_DEPENDS @LLVM_COMMON_DEPENDS@)
+
+set(llvm_libs @llvm_libs@)
+
+set(llvm_lib_targets @llvm_lib_targets@)
+
+set(LLVM_TARGETS_TO_BUILD @LLVM_TARGETS_TO_BUILD@)
+
+set(LLVM_TOOLS_BINARY_DIR @LLVM_TOOLS_BINARY_DIR@)
+
+set(HAVE_LLVM_CONFIG @HAVE_LLVM_CONFIG@)
+
+if( NOT EXISTS LLVMConfig.cmake )
+  set(CMAKE_MODULE_PATH
+    ${CMAKE_MODULE_PATH}
+    "@LLVM_SOURCE_DIR@/cmake/modules")
+endif()
+
+include( LLVMConfig )

Modified: llvm/trunk/cmake/modules/LLVMConfig.cmake
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/LLVMConfig.cmake?rev=110560&r1=110559&r2=110560&view=diff
==============================================================================
--- llvm/trunk/cmake/modules/LLVMConfig.cmake (original)
+++ llvm/trunk/cmake/modules/LLVMConfig.cmake Sun Aug  8 22:26:43 2010
@@ -49,6 +49,13 @@
 endfunction(explicit_llvm_config)
 
 
+# This is a variant intended for the final user:
+function(llvm_map_components_to_libraries OUT_VAR)
+  explicit_map_components_to_libraries(result ${ARGN})
+  set( ${OUT_VAR} ${result} )
+endfunction(llvm_map_components_to_libraries)
+
+
 function(explicit_map_components_to_libraries out_libs)
   set( link_components ${ARGN} )
   foreach(c ${link_components})





More information about the llvm-commits mailing list