207
|
1 include(LLVMDistributionSupport)
|
|
2
|
150
|
3 macro(add_lld_library name)
|
|
4 cmake_parse_arguments(ARG
|
|
5 "SHARED"
|
|
6 ""
|
|
7 ""
|
|
8 ${ARGN})
|
|
9 if(ARG_SHARED)
|
|
10 set(ARG_ENABLE_SHARED SHARED)
|
|
11 endif()
|
|
12 llvm_add_library(${name} ${ARG_ENABLE_SHARED} ${ARG_UNPARSED_ARGUMENTS})
|
|
13 set_target_properties(${name} PROPERTIES FOLDER "lld libraries")
|
|
14
|
|
15 if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
207
|
16 get_target_export_arg(${name} LLD export_to_lldtargets)
|
150
|
17 install(TARGETS ${name}
|
|
18 COMPONENT ${name}
|
|
19 ${export_to_lldtargets}
|
|
20 LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
|
|
21 ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
|
|
22 RUNTIME DESTINATION bin)
|
|
23
|
|
24 if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES)
|
|
25 add_llvm_install_targets(install-${name}
|
|
26 DEPENDS ${name}
|
|
27 COMPONENT ${name})
|
|
28 endif()
|
|
29 set_property(GLOBAL APPEND PROPERTY LLD_EXPORTS ${name})
|
|
30 endif()
|
|
31 endmacro(add_lld_library)
|
|
32
|
|
33 macro(add_lld_executable name)
|
|
34 add_llvm_executable(${name} ${ARGN})
|
|
35 set_target_properties(${name} PROPERTIES FOLDER "lld executables")
|
|
36 endmacro(add_lld_executable)
|
|
37
|
|
38 macro(add_lld_tool name)
|
|
39 if (NOT LLD_BUILD_TOOLS)
|
|
40 set(EXCLUDE_FROM_ALL ON)
|
|
41 endif()
|
|
42
|
|
43 add_lld_executable(${name} ${ARGN})
|
|
44
|
|
45 if (LLD_BUILD_TOOLS)
|
207
|
46 get_target_export_arg(${name} LLD export_to_lldtargets)
|
150
|
47 install(TARGETS ${name}
|
|
48 ${export_to_lldtargets}
|
|
49 RUNTIME DESTINATION bin
|
|
50 COMPONENT ${name})
|
|
51
|
|
52 if(NOT CMAKE_CONFIGURATION_TYPES)
|
|
53 add_llvm_install_targets(install-${name}
|
|
54 DEPENDS ${name}
|
|
55 COMPONENT ${name})
|
|
56 endif()
|
|
57 set_property(GLOBAL APPEND PROPERTY LLD_EXPORTS ${name})
|
|
58 endif()
|
|
59 endmacro()
|
|
60
|
|
61 macro(add_lld_symlink name dest)
|
|
62 add_llvm_tool_symlink(${name} ${dest} ALWAYS_GENERATE)
|
|
63 # Always generate install targets
|
|
64 llvm_install_symlink(${name} ${dest} ALWAYS_GENERATE)
|
|
65 endmacro()
|