@@ -26,24 +26,40 @@ file(COPY ../.clang-format DESTINATION "${RSN_PARSER_GENERATED_HEADERS_DIR}")
26
26
27
27
find_package (Python3 REQUIRED)
28
28
29
- set (LIBCLANG_INSTALL_CMD ${Python3_EXECUTABLE} -m pip install libclang==16.0.6)
30
- set (JINJA2_INSTALL_CMD ${Python3_EXECUTABLE} -m pip install jinja2)
31
-
32
- if (${Python3_VERSION} VERSION_GREATER_EQUAL "3.12" )
33
- set (LIBCLANG_INSTALL_CMD ${LIBCLANG_INSTALL_CMD} --break-system -packages)
34
- set (JINJA2_INSTALL_CMD ${JINJA2_INSTALL_CMD} --break-system -packages)
35
- endif ()
29
+ # Ensure libclang is installed
30
+ execute_process (
31
+ COMMAND ${Python3_EXECUTABLE} -c "import clang"
32
+ RESULT_VARIABLE LIBCLANG_EXISTS
33
+ )
36
34
37
- execute_process (COMMAND ${LIBCLANG_INSTALL_CMD}
35
+ if (NOT LIBCLANG_EXISTS EQUAL "0" )
36
+ set (LIBCLANG_INSTALL_CMD ${Python3_EXECUTABLE} -m pip install libclang==16.0.6)
37
+ if (${Python3_VERSION} VERSION_GREATER_EQUAL "3.12" )
38
+ set (LIBCLANG_INSTALL_CMD ${LIBCLANG_INSTALL_CMD} --break-system -packages)
39
+ endif ()
40
+ execute_process (COMMAND ${LIBCLANG_INSTALL_CMD}
38
41
RESULT_VARIABLE PYTHON_PIP_LIBCLANG_RESULT)
39
- if (NOT PYTHON_PIP_LIBCLANG_RESULT EQUAL "0" )
40
- message (FATAL_ERROR "Command '${LIBCLANG_INSTALL_CMD} ' failed with error code ${PYTHON_PIP_LIBCLANG_RESULT} " )
42
+ if (NOT PYTHON_PIP_LIBCLANG_RESULT EQUAL "0" )
43
+ message (FATAL_ERROR "Command '${LIBCLANG_INSTALL_CMD} ' failed with error code ${PYTHON_PIP_LIBCLANG_RESULT} " )
44
+ endif ()
41
45
endif ()
42
46
43
- execute_process (COMMAND ${JINJA2_INSTALL_CMD}
47
+ # Ensure Jinja2 is installed
48
+ execute_process (
49
+ COMMAND ${Python3_EXECUTABLE} -c "import jinja2"
50
+ RESULT_VARIABLE JINJA_EXISTS
51
+ )
52
+
53
+ if (NOT JINJA_EXISTS EQUAL "0" )
54
+ set (JINJA2_INSTALL_CMD ${Python3_EXECUTABLE} -m pip install jinja2)
55
+ if (${Python3_VERSION} VERSION_GREATER_EQUAL "3.12" )
56
+ set (JINJA2_INSTALL_CMD ${JINJA2_INSTALL_CMD} --break-system -packages)
57
+ endif ()
58
+ execute_process (COMMAND ${JINJA2_INSTALL_CMD}
44
59
RESULT_VARIABLE PYTHON_PIP_JINJIA_RESULT)
45
- if (NOT PYTHON_PIP_JINJIA_RESULT EQUAL "0" )
46
- message (FATAL_ERROR "Command '${JINJA2_INSTALL_CMD} ' failed with error code ${PYTHON_PIP_JINJIA_RESULT} " )
60
+ if (NOT PYTHON_PIP_JINJIA_RESULT EQUAL "0" )
61
+ message (FATAL_ERROR "Command '${JINJA2_INSTALL_CMD} ' failed with error code ${PYTHON_PIP_JINJIA_RESULT} " )
62
+ endif ()
47
63
endif ()
48
64
49
65
file (GLOB INCLUDE include /*)
0 commit comments