[PATCH] CMake: add LLVM_INSTALL_LIBRARIES variable
Hans Wennborg
hans at chromium.org
Fri Aug 16 15:48:42 PDT 2013
Change option name to LLVM_INSTALL_DEV_FILES. Also move cmake files and llvm-lit under this flag.
(Not changing the code review title to hopefully keep this in the same email thread.)
Hi rnk,
http://llvm-reviews.chandlerc.com/D1428
CHANGE SINCE LAST DIFF
http://llvm-reviews.chandlerc.com/D1428?vs=3532&id=3537#toc
Files:
CMakeLists.txt
cmake/modules/AddLLVM.cmake
cmake/modules/CMakeLists.txt
cmake/modules/TableGen.cmake
utils/llvm-lit/CMakeLists.txt
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt
+++ CMakeLists.txt
@@ -229,6 +229,9 @@
"Build LLVM unit tests. If OFF, just generate build targets." OFF)
option(LLVM_INCLUDE_TESTS "Generate build targets for the LLVM unit tests." ON)
+option(LLVM_INSTALL_DEV_FILES
+ "Install libraries, headers, etc. for developing LLVM based projects" ON)
+
# All options referred to from HandleLLVMOptions have to be specified
# BEFORE this include, otherwise options will not be correctly set on
# first cmake run
@@ -465,28 +468,30 @@
add_subdirectory(cmake/modules)
-install(DIRECTORY include/
- DESTINATION include
- FILES_MATCHING
- PATTERN "*.def"
- PATTERN "*.h"
- PATTERN "*.td"
- PATTERN "*.inc"
- PATTERN "LICENSE.TXT"
- PATTERN ".svn" EXCLUDE
- )
+if ( LLVM_INSTALL_DEV_FILES )
+ install(DIRECTORY include/
+ DESTINATION include
+ FILES_MATCHING
+ PATTERN "*.def"
+ PATTERN "*.h"
+ PATTERN "*.td"
+ PATTERN "*.inc"
+ PATTERN "LICENSE.TXT"
+ PATTERN ".svn" EXCLUDE
+ )
-install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/
- DESTINATION include
- FILES_MATCHING
- PATTERN "*.def"
- PATTERN "*.h"
- PATTERN "*.gen"
- PATTERN "*.inc"
- # Exclude include/llvm/CMakeFiles/intrinsics_gen.dir, matched by "*.def"
- PATTERN "CMakeFiles" EXCLUDE
- PATTERN ".svn" EXCLUDE
- )
+ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/
+ DESTINATION include
+ FILES_MATCHING
+ PATTERN "*.def"
+ PATTERN "*.h"
+ PATTERN "*.gen"
+ PATTERN "*.inc"
+ # Exclude include/llvm/CMakeFiles/intrinsics_gen.dir, matched by "*.def"
+ PATTERN "CMakeFiles" EXCLUDE
+ PATTERN ".svn" EXCLUDE
+ )
+endif()
# TODO: make and install documentation.
Index: cmake/modules/AddLLVM.cmake
===================================================================
--- cmake/modules/AddLLVM.cmake
+++ cmake/modules/AddLLVM.cmake
@@ -26,9 +26,11 @@
if( EXCLUDE_FROM_ALL )
set_target_properties( ${name} PROPERTIES EXCLUDE_FROM_ALL ON)
else()
- install(TARGETS ${name}
- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
+ if ( LLVM_INSTALL_DEV_FILES )
+ install(TARGETS ${name}
+ LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
+ ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
+ endif()
endif()
set_target_properties(${name} PROPERTIES FOLDER "Libraries")
Index: cmake/modules/CMakeLists.txt
===================================================================
--- cmake/modules/CMakeLists.txt
+++ cmake/modules/CMakeLists.txt
@@ -19,19 +19,21 @@
${llvm_cmake_builddir}/LLVMConfigVersion.cmake
@ONLY)
-install(FILES
- ${llvm_cmake_builddir}/LLVMConfig.cmake
- ${llvm_cmake_builddir}/LLVMConfigVersion.cmake
- LLVM-Config.cmake
- DESTINATION share/llvm/cmake)
+if (LLVM_INSTALL_DEV_FILES)
+ install(FILES
+ ${llvm_cmake_builddir}/LLVMConfig.cmake
+ ${llvm_cmake_builddir}/LLVMConfigVersion.cmake
+ LLVM-Config.cmake
+ DESTINATION share/llvm/cmake)
-install(DIRECTORY .
- DESTINATION share/llvm/cmake
- FILES_MATCHING PATTERN *.cmake
- PATTERN .svn EXCLUDE
- PATTERN LLVMConfig.cmake EXCLUDE
- PATTERN LLVMConfigVersion.cmake EXCLUDE
- PATTERN LLVM-Config.cmake EXCLUDE
- PATTERN GetHostTriple.cmake EXCLUDE
- PATTERN VersionFromVCS.cmake EXCLUDE
- PATTERN CheckAtomic.cmake EXCLUDE)
+ install(DIRECTORY .
+ DESTINATION share/llvm/cmake
+ FILES_MATCHING PATTERN *.cmake
+ PATTERN .svn EXCLUDE
+ PATTERN LLVMConfig.cmake EXCLUDE
+ PATTERN LLVMConfigVersion.cmake EXCLUDE
+ PATTERN LLVM-Config.cmake EXCLUDE
+ PATTERN GetHostTriple.cmake EXCLUDE
+ PATTERN VersionFromVCS.cmake EXCLUDE
+ PATTERN CheckAtomic.cmake EXCLUDE)
+endif()
Index: cmake/modules/TableGen.cmake
===================================================================
--- cmake/modules/TableGen.cmake
+++ cmake/modules/TableGen.cmake
@@ -127,5 +127,7 @@
target_link_libraries(${target} pthread)
endif()
- install(TARGETS ${target} RUNTIME DESTINATION bin)
+ if ( LLVM_INSTALL_DEV_FILES )
+ install(TARGETS ${target} RUNTIME DESTINATION bin)
+ endif()
endmacro()
Index: utils/llvm-lit/CMakeLists.txt
===================================================================
--- utils/llvm-lit/CMakeLists.txt
+++ utils/llvm-lit/CMakeLists.txt
@@ -3,10 +3,12 @@
${LLVM_TOOLS_BINARY_DIR}/llvm-lit
)
-install(FILES
- ${LLVM_TOOLS_BINARY_DIR}/llvm-lit
- DESTINATION bin
- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
- GROUP_READ GROUP_EXECUTE
- WORLD_READ WORLD_EXECUTE
- )
+if (LLVM_INSTALL_DEV_FILES)
+ install(FILES
+ ${LLVM_TOOLS_BINARY_DIR}/llvm-lit
+ DESTINATION bin
+ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
+ GROUP_READ GROUP_EXECUTE
+ WORLD_READ WORLD_EXECUTE
+ )
+endif()
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D1428.2.patch
Type: text/x-patch
Size: 4917 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130816/d9a218db/attachment.bin>
More information about the llvm-commits
mailing list