Skip to content

Commit 918f6fa

Browse files
committed
llvm: Allow users to set LLVM_HAVE_OPT_VIEWER_MODULES manually from the CMake
Check right before setting LLVM_HAVE_OPT_VIEWER_MODULES so that if the user specifies the variable on the commandline it takes precedence. If not, fall back to the old logic Upstream-Status: Submitted [llvm#151845] Signed-off-by: Khem Raj <[email protected]>
1 parent 723ed01 commit 918f6fa

File tree

3 files changed

+25
-14
lines changed

3 files changed

+25
-14
lines changed

llvm/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ set(LLVM_COMMON_CMAKE_UTILS ${CMAKE_CURRENT_SOURCE_DIR}/../cmake)
77
include(${LLVM_COMMON_CMAKE_UTILS}/Modules/CMakePolicy.cmake
88
NO_POLICY_SCOPE)
99

10+
option(LLVM_HAVE_OPT_VIEWER_MODULES "Enable opt-viewer modules support" ON)
11+
1012
# Builds with custom install names and installation rpath setups may not work
1113
# in the build tree. Allow these cases to use CMake's default build tree
1214
# behavior by setting `LLVM_NO_INSTALL_NAME_DIR_FOR_BUILD_TREE` to do this.

llvm/cmake/config-ix.cmake

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -805,10 +805,17 @@ foreach(module ${PYTHON_MODULES})
805805
find_python_module(${module})
806806
endforeach()
807807

808-
if(PY_PYGMENTS_FOUND AND PY_PYGMENTS_LEXERS_C_CPP_FOUND AND PY_YAML_FOUND)
809-
set (LLVM_HAVE_OPT_VIEWER_MODULES 1)
808+
if(NOT DEFINED LLVM_HAVE_OPT_VIEWER_MODULES)
809+
if(PY_PYGMENTS_FOUND AND PY_PYGMENTS_LEXERS_C_CPP_FOUND AND PY_YAML_FOUND)
810+
set (LLVM_HAVE_OPT_VIEWER_MODULES 1)
811+
else()
812+
set (LLVM_HAVE_OPT_VIEWER_MODULES 0)
813+
endif()
814+
elseif(LLVM_HAVE_OPT_VIEWER_MODULES)
815+
# Use the user-provided value
816+
set(LLVM_HAVE_OPT_VIEWER_MODULES 1)
810817
else()
811-
set (LLVM_HAVE_OPT_VIEWER_MODULES 0)
818+
set(LLVM_HAVE_OPT_VIEWER_MODULES 0)
812819
endif()
813820

814821
function(llvm_get_host_prefixes_and_suffixes)

llvm/tools/opt-viewer/CMakeLists.txt

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,18 @@ set (files
66
"optrecord.py"
77
"style.css")
88

9-
foreach (file ${files})
10-
install(PROGRAMS ${file}
11-
DESTINATION "${CMAKE_INSTALL_DATADIR}/opt-viewer"
12-
COMPONENT opt-viewer)
13-
endforeach (file)
9+
if(LLVM_HAVE_OPT_VIEWER_MODULES)
10+
foreach (file ${files})
11+
install(PROGRAMS ${file}
12+
DESTINATION "${CMAKE_INSTALL_DATADIR}/opt-viewer"
13+
COMPONENT opt-viewer)
14+
endforeach (file)
1415

15-
add_custom_target(opt-viewer DEPENDS ${files})
16-
set_target_properties(opt-viewer PROPERTIES FOLDER "LLVM/Tools")
17-
if(NOT LLVM_ENABLE_IDE)
18-
add_llvm_install_targets("install-opt-viewer"
19-
DEPENDS opt-viewer
20-
COMPONENT opt-viewer)
16+
add_custom_target(opt-viewer DEPENDS ${files})
17+
set_target_properties(opt-viewer PROPERTIES FOLDER "LLVM/Tools")
18+
if(NOT LLVM_ENABLE_IDE)
19+
add_llvm_install_targets("install-opt-viewer"
20+
DEPENDS opt-viewer
21+
COMPONENT opt-viewer)
22+
endif()
2123
endif()

0 commit comments

Comments
 (0)