forked from llvm/llvm-project
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[BOLT][CMake] Redo the build and install targets
The existing BOLT install targets are broken on Windows becase they don't properly handle the output extension. We cannot use the existing LLVM macros since those make assumptions that don't hold for BOLT. This change instead implements custom macros following the approach used by Clang and LLD. Differential Revision: https://reviews.llvm.org/D151595
- Loading branch information
Showing
10 changed files
with
55 additions
and
42 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
include(GNUInstallDirs) | ||
include(LLVMDistributionSupport) | ||
|
||
macro(add_bolt_executable name) | ||
add_llvm_executable(${name} ${ARGN}) | ||
set_target_properties(${name} PROPERTIES FOLDER "BOLT") | ||
endmacro() | ||
|
||
macro(add_bolt_tool name) | ||
if (NOT BOLT_BUILD_TOOLS) | ||
set(EXCLUDE_FROM_ALL ON) | ||
endif() | ||
|
||
add_bolt_executable(${name} ${ARGN}) | ||
|
||
if (BOLT_BUILD_TOOLS) | ||
get_target_export_arg(${name} BOLT export_to_bolttargets) | ||
install(TARGETS ${name} | ||
${export_to_bolttargets} | ||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" | ||
COMPONENT bolt) | ||
|
||
if(NOT LLVM_ENABLE_IDE) | ||
add_llvm_install_targets(install-${name} | ||
DEPENDS ${name} | ||
COMPONENT bolt) | ||
endif() | ||
set_property(GLOBAL APPEND PROPERTY BOLT_EXPORTS ${name}) | ||
endif() | ||
endmacro() | ||
|
||
macro(add_bolt_tool_symlink name dest) | ||
llvm_add_tool_symlink(BOLT ${name} ${dest} ALWAYS_GENERATE) | ||
# Always generate install targets | ||
llvm_install_symlink(BOLT ${name} ${dest} ALWAYS_GENERATE COMPONENT bolt) | ||
endmacro() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters