[PATCH] D151595: [BOLT][CMake] Use LLVM macros for install targets

Petr Hosek via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 26 15:14:14 PDT 2023


phosek created this revision.
phosek added reviewers: Amir, smeenai, mstorsjo.
Herald added a reviewer: rafauler.
Herald added subscribers: ekilmer, treapster, ayermolo.
Herald added a reviewer: maksfb.
Herald added a project: All.
phosek requested review of this revision.
Herald added subscribers: llvm-commits, yota9.
Herald added a project: LLVM.

The existing BOLT install targets are broken on Windows becase they
don't properly handle output extension. Rather than reimplementing
this logic in BOLT, reuse the existing LLVM macros which already
handle this aspect correctly.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D151595

Files:
  bolt/tools/CMakeLists.txt
  bolt/tools/driver/CMakeLists.txt
  bolt/tools/merge-fdata/CMakeLists.txt


Index: bolt/tools/merge-fdata/CMakeLists.txt
===================================================================
--- bolt/tools/merge-fdata/CMakeLists.txt
+++ bolt/tools/merge-fdata/CMakeLists.txt
@@ -11,11 +11,6 @@
 set_target_properties(merge-fdata PROPERTIES FOLDER "BOLT")
 
 add_dependencies(bolt merge-fdata)
-install(PROGRAMS
-  ${CMAKE_BINARY_DIR}/bin/merge-fdata
-  DESTINATION ${CMAKE_INSTALL_BINDIR}
-  COMPONENT bolt
-  )
 
 # Emit relocations for BOLT meta test (bolt/test/runtime/meta-merge-fdata.test)
 if (BOLT_INCLUDE_TESTS AND UNIX AND NOT APPLE)
Index: bolt/tools/driver/CMakeLists.txt
===================================================================
--- bolt/tools/driver/CMakeLists.txt
+++ bolt/tools/driver/CMakeLists.txt
@@ -37,13 +37,6 @@
   )
 
 add_custom_target(bolt DEPENDS ${BOLT_DEPENDS})
-install(PROGRAMS
-  ${CMAKE_BINARY_DIR}/bin/llvm-bolt
-  ${CMAKE_BINARY_DIR}/bin/perf2bolt
-  ${CMAKE_BINARY_DIR}/bin/llvm-boltdiff
-  DESTINATION ${CMAKE_INSTALL_BINDIR}
-  COMPONENT bolt
-  )
 add_llvm_install_targets(install-bolt DEPENDS bolt COMPONENT bolt)
 set_target_properties(bolt PROPERTIES FOLDER "BOLT")
 set_target_properties(install-bolt PROPERTIES FOLDER "BOLT")
Index: bolt/tools/CMakeLists.txt
===================================================================
--- bolt/tools/CMakeLists.txt
+++ bolt/tools/CMakeLists.txt
@@ -6,10 +6,16 @@
 
 macro(add_bolt_tool name)
   llvm_add_tool(BOLT ${ARGV})
+  install(TARGETS ${name}
+    DESTINATION ${CMAKE_INSTALL_BINDIR}
+    COMPONENT ${name}
+    )
+  add_llvm_install_targets(install-${name} DEPENDS ${name} COMPONENT ${name})
 endmacro()
 
-macro(add_bolt_tool_symlink name)
-  llvm_add_tool_symlink(BOLT ${ARGV})
+macro(add_bolt_tool_symlink name dest)
+  llvm_add_tool_symlink(BOLT ${name} ${dest})
+  llvm_install_symlink(BOLT ${name} ${dest} ALWAYS_GENERATE)
 endmacro()
 
 add_subdirectory(driver)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D151595.526207.patch
Type: text/x-patch
Size: 1894 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230526/5ea2dbd5/attachment.bin>


More information about the llvm-commits mailing list