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()