[llvm] [opt-viewer] Allow users to set LLVM_HAVE_OPT_VIEWER_MODULES manually… (PR #151845)
Khem Raj via llvm-commits
llvm-commits at lists.llvm.org
Sat Aug 2 20:31:49 PDT 2025
https://github.com/kraj created https://github.com/llvm/llvm-project/pull/151845
… 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
>From 6856481be61001948b25115fc93e24e3743a9ed4 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem at gmail.com>
Date: Sat, 2 Aug 2025 17:58:20 -0700
Subject: [PATCH] [opt-viewer] 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
---
llvm/CMakeLists.txt | 2 ++
llvm/cmake/config-ix.cmake | 13 ++++++++++---
llvm/include/llvm/Config/config.h.cmake | 3 +++
3 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt
index 4c70b98a32f92..60b786ca39c2e 100644
--- a/llvm/CMakeLists.txt
+++ b/llvm/CMakeLists.txt
@@ -7,6 +7,8 @@ set(LLVM_COMMON_CMAKE_UTILS ${CMAKE_CURRENT_SOURCE_DIR}/../cmake)
include(${LLVM_COMMON_CMAKE_UTILS}/Modules/CMakePolicy.cmake
NO_POLICY_SCOPE)
+option(LLVM_HAVE_OPT_VIEWER_MODULES "Enable opt-viewer modules support" ON)
+
# Builds with custom install names and installation rpath setups may not work
# in the build tree. Allow these cases to use CMake's default build tree
# behavior by setting `LLVM_NO_INSTALL_NAME_DIR_FOR_BUILD_TREE` to do this.
diff --git a/llvm/cmake/config-ix.cmake b/llvm/cmake/config-ix.cmake
index a8e4e5a63244d..17af3dc1e93f4 100644
--- a/llvm/cmake/config-ix.cmake
+++ b/llvm/cmake/config-ix.cmake
@@ -805,10 +805,17 @@ foreach(module ${PYTHON_MODULES})
find_python_module(${module})
endforeach()
-if(PY_PYGMENTS_FOUND AND PY_PYGMENTS_LEXERS_C_CPP_FOUND AND PY_YAML_FOUND)
- set (LLVM_HAVE_OPT_VIEWER_MODULES 1)
+if(NOT DEFINED LLVM_HAVE_OPT_VIEWER_MODULES)
+ if(PY_PYGMENTS_FOUND AND PY_PYGMENTS_LEXERS_C_CPP_FOUND AND PY_YAML_FOUND)
+ set (LLVM_HAVE_OPT_VIEWER_MODULES 1)
+ else()
+ set (LLVM_HAVE_OPT_VIEWER_MODULES 0)
+ endif()
+elseif(LLVM_HAVE_OPT_VIEWER_MODULES)
+ # Use the user-provided value
+ set(LLVM_HAVE_OPT_VIEWER_MODULES 1)
else()
- set (LLVM_HAVE_OPT_VIEWER_MODULES 0)
+ set(LLVM_HAVE_OPT_VIEWER_MODULES 0)
endif()
function(llvm_get_host_prefixes_and_suffixes)
diff --git a/llvm/include/llvm/Config/config.h.cmake b/llvm/include/llvm/Config/config.h.cmake
index ce83de8e4cba9..02cf6d2ec3636 100644
--- a/llvm/include/llvm/Config/config.h.cmake
+++ b/llvm/include/llvm/Config/config.h.cmake
@@ -287,6 +287,9 @@
/* Define to a function implementing strdup */
#cmakedefine strdup ${strdup}
+/* Define indicating opt-viewer modules */
+#cmakedefine LLVM_HAVE_OPT_VIEWER_MODULES
+
/* Whether GlobalISel rule coverage is being collected */
#cmakedefine01 LLVM_GISEL_COV_ENABLED
More information about the llvm-commits
mailing list