Skip to content

Commit b254850

Browse files
authored
Create CollectBuildInfoVars.cmake
1 parent 333536b commit b254850

File tree

1 file changed

+373
-0
lines changed

1 file changed

+373
-0
lines changed

cmake/CollectBuildInfoVars.cmake

Lines changed: 373 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,373 @@
1+
# =============================================================================
2+
# This script is included to set all build information variables in the
3+
# calling scope. It does not use a function to avoid variable scope issues.
4+
# ==============================================================================
5+
6+
# --- 1. Collect Basic Build Information ---
7+
if(NOT CMAKE_BUILD_TYPE)
8+
set(ABACUS_BUILD_TYPE "Custom (no CMAKE_BUILD_TYPE)")
9+
else()
10+
set(ABACUS_BUILD_TYPE ${CMAKE_BUILD_TYPE})
11+
endif()
12+
if(DEFINED ENV{USER})
13+
set(ABACUS_BUILD_USER "$ENV{USER}")
14+
else()
15+
set(ABACUS_BUILD_USER "Unknown")
16+
endif()
17+
site_name(ABACUS_BUILD_HOST)
18+
set(ABACUS_CXX_COMPILER_ID ${CMAKE_CXX_COMPILER_ID})
19+
set(ABACUS_CXX_COMPILER_PATH ${CMAKE_CXX_COMPILER})
20+
set(ABACUS_CXX_COMPILER_VERSION ${CMAKE_CXX_COMPILER_VERSION})
21+
set(TEMP_CXX_FLAGS_LIST "${CMAKE_CXX_FLAGS}")
22+
#if(DEFINED CMAKE_BUILD_TYPE)
23+
# string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UPPER)
24+
# list(APPEND TEMP_CXX_FLAGS_LIST "${CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE_UPPER}}")
25+
#endif()
26+
string(REPLACE ";" " " ABACUS_CXX_FLAGS "${TEMP_CXX_FLAGS_LIST}")
27+
set(TEMP_LINKER_FLAGS_LIST "${CMAKE_EXE_LINKER_FLAGS}")
28+
#if(DEFINED CMAKE_BUILD_TYPE)
29+
# string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UPPER)
30+
# list(APPEND TEMP_LINKER_FLAGS_LIST "${CMAKE_EXE_LINKER_FLAGS_${CMAKE_BUILD_TYPE_UPPER}}")
31+
#endif()
32+
string(REPLACE ";" " " ABACUS_LINKER_FLAGS "${TEMP_LINKER_FLAGS_LIST}")
33+
set(TEMP_CUDA_FLAGS_LIST "${CMAKE_EXE_CUDA_FLAGS}")
34+
string(REPLACE ";" " " ABACUS_CUDA_FLAGS "${TEMP_CUDA_FLAGS_LIST}")
35+
36+
# --- 2. Determine Target Platform ---
37+
if(USE_DSP)
38+
set(ABACUS_PLATFORM_NAME "DSP")
39+
elseif(USE_SW)
40+
set(ABACUS_PLATFORM_NAME "CPU + SW-MATH")
41+
elseif(USE_CUDA_ON_DCU)
42+
set(ABACUS_PLATFORM_NAME "CPU + DCU (Hygon CUDA)")
43+
elseif(USE_CUDA)
44+
set(ABACUS_PLATFORM_NAME "CPU + NVIDIA CUDA")
45+
elseif(USE_ROCM)
46+
set(ABACUS_PLATFORM_NAME "CPU + AMD ROCm")
47+
else()
48+
set(ABACUS_PLATFORM_NAME "CPU")
49+
endif()
50+
51+
# --- 3. Sanitizers & Debugging ---
52+
if(ENABLE_ASAN)
53+
set(ABACUS_ASAN_STATUS "yes")
54+
else()
55+
set(ABACUS_ASAN_STATUS "no")
56+
endif()
57+
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
58+
set(ABACUS_DEBUG_SYMBOLS "yes")
59+
else()
60+
set(ABACUS_DEBUG_SYMBOLS "no")
61+
endif()
62+
63+
# --- 4. Get Dependency Versions (Enhanced with path fallback) ---
64+
# MPI Implementation and Version
65+
set(ABACUS_MPI_IMPLEMENTATION "no")
66+
set(ABACUS_MPI_VERSION "no")
67+
set(ABACUS_CUDA_AWARE_MPI "no")
68+
if(ENABLE_MPI)
69+
execute_process(COMMAND ${MPI_CXX_COMPILER} --version OUTPUT_VARIABLE MPI_VERSION_OUTPUT OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
70+
if(MPI_VERSION_OUTPUT MATCHES "Intel")
71+
set(ABACUS_MPI_IMPLEMENTATION "Intel MPI")
72+
string(REGEX MATCH "Intel\\(R\\) oneAPI DPC\\+\\+/C\\+\\+ Compiler ([0-9]+\\.[0-9]+\\.[0-9]+)" _ "${MPI_VERSION_OUTPUT}")
73+
if(CMAKE_MATCH_1)
74+
set(MPI_DETECTED_VERSION "${CMAKE_MATCH_1}")
75+
else()
76+
string(REGEX MATCH "icpc \\(ICC\\) ([0-9]+\\.[0-9]+\\.[0-9]+)" _ "${MPI_VERSION_OUTPUT}")
77+
if(CMAKE_MATCH_1)
78+
set(MPI_DETECTED_VERSION "${CMAKE_MATCH_1}")
79+
endif()
80+
endif()
81+
elseif(MPI_VERSION_OUTPUT MATCHES "Open MPI")
82+
set(ABACUS_MPI_IMPLEMENTATION "OpenMPI")
83+
elseif(MPI_VERSION_OUTPUT MATCHES "MPICH")
84+
set(ABACUS_MPI_IMPLEMENTATION "MPICH")
85+
else()
86+
set(ABACUS_MPI_IMPLEMENTATION "Unknown")
87+
endif()
88+
if(MPI_DETECTED_VERSION)
89+
set(ABACUS_MPI_VERSION "yes (v${MPI_DETECTED_VERSION})")
90+
elseif(MPI_VERSION)
91+
set(ABACUS_MPI_VERSION "yes (v${MPI_VERSION})")
92+
else()
93+
set(ABACUS_MPI_VERSION "yes (version unknown)")
94+
endif()
95+
if(USE_CUDA)
96+
execute_process(COMMAND ${MPI_CXX_COMPILER} -showme:compile OUTPUT_VARIABLE MPI_COMPILE_FLAGS OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
97+
if(MPI_COMPILE_FLAGS MATCHES "cuda" OR MPI_COMPILE_FLAGS MATCHES "CUDA")
98+
set(ABACUS_CUDA_AWARE_MPI "yes (likely)")
99+
else()
100+
set(ABACUS_CUDA_AWARE_MPI "no (or undetectable)")
101+
endif()
102+
else()
103+
set(ABACUS_CUDA_AWARE_MPI "no (CUDA not enabled)")
104+
endif()
105+
endif()
106+
107+
# OpenMP Version
108+
if(USE_OPENMP AND OpenMP_CXX_VERSION)
109+
set(ABACUS_OPENMP_VERSION "yes (v${OpenMP_CXX_VERSION})")
110+
elseif(USE_OPENMP)
111+
set(ABACUS_OPENMP_VERSION "yes (version unknown)")
112+
else()
113+
set(ABACUS_OPENMP_VERSION "no")
114+
endif()
115+
116+
# Core Math Libraries
117+
if(ENABLE_LCAO AND USE_ELPA)
118+
set(ABACUS_ELPA_VERSION "yes (version unknown)")
119+
if(ELPA_VERSION)
120+
set(ABACUS_ELPA_VERSION "yes (v${ELPA_VERSION})")
121+
else()
122+
find_program(ELPA_VERSION_EXE elpa2_print_version PATHS ${ELPA_DIR}/bin NO_DEFAULT_PATH)
123+
if(ELPA_VERSION_EXE)
124+
execute_process(COMMAND ${ELPA_VERSION_EXE} OUTPUT_VARIABLE ELPA_VER_RAW OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
125+
if(ELPA_VER_RAW)
126+
set(ABACUS_ELPA_VERSION "yes (${ELPA_VER_RAW})")
127+
endif()
128+
endif()
129+
endif()
130+
if(ABACUS_ELPA_VERSION STREQUAL "yes (version unknown)" AND ELPA_DIR)
131+
set(ABACUS_ELPA_VERSION "yes (path: ${ELPA_DIR})")
132+
endif()
133+
else()
134+
set(ABACUS_ELPA_VERSION "no")
135+
endif()
136+
137+
if(MKLROOT)
138+
set(ABACUS_MKL_SUPPORT "yes (version unknown)")
139+
find_path(MKL_VERSION_HEADER mkl_version.h PATHS ${MKL_INCLUDE} NO_DEFAULT_PATH)
140+
if(MKL_VERSION_HEADER)
141+
file(STRINGS "${MKL_VERSION_HEADER}" MKL_VERSION_LINE REGEX "^#define INTEL_MKL_VERSION [0-9]+")
142+
string(REGEX REPLACE "^#define INTEL_MKL_VERSION ([0-9]+)" "\\1" MKL_VER_NUM "${MKL_VERSION_LINE}")
143+
if(MKL_VER_NUM)
144+
math(EXPR MKL_MAJOR "${MKL_VER_NUM} / 10000")
145+
math(EXPR MKL_MINOR "(${MKL_VER_NUM} % 10000) / 100")
146+
math(EXPR MKL_PATCH "${MKL_VER_NUM} % 100")
147+
set(ABACUS_MKL_SUPPORT "yes (v${MKL_MAJOR}.${MKL_MINOR}.${MKL_PATCH})")
148+
endif()
149+
endif()
150+
else()
151+
set(ABACUS_MKL_SUPPORT "no")
152+
endif()
153+
154+
if(ENABLE_LIBXC AND Libxc_VERSION)
155+
set(ABACUS_LIBXC_VERSION "yes (v${Libxc_VERSION})")
156+
elseif(ENABLE_LIBXC)
157+
set(ABACUS_LIBXC_VERSION "yes (path: ${Libxc_DIR})")
158+
else()
159+
set(ABACUS_LIBXC_VERSION "no")
160+
endif()
161+
162+
if(NOT USE_SW AND NOT MKLROOT AND FFTW3_VERSION)
163+
set(ABACUS_FFTW_VERSION "yes (v${FFTW3_VERSION})")
164+
elseif(NOT USE_SW AND NOT MKLROOT)
165+
set(ABACUS_FFTW_VERSION "yes (version unknown)")
166+
else()
167+
set(ABACUS_FFTW_VERSION "no (using MKL or SW)")
168+
endif()
169+
170+
# Cereal Version (Enhanced)
171+
if(ENABLE_LCAO)
172+
set(ABACUS_CEREAL_VERSION "yes (version unknown)")
173+
find_path(CEREAL_INCLUDE_DIR cereal/version.hpp PATHS ${CEREAL_INCLUDE_DIR})
174+
if(EXISTS CEREAL_INCLUDE_DIR)
175+
file(STRINGS "${CEREAL_INCLUDE_DIR}/cereal/version.hpp" CEREAL_MAJOR_LINE REGEX "^#define CEREAL_VERSION_MAJOR")
176+
file(STRINGS "${CEREAL_INCLUDE_DIR}/cereal/version.hpp" CEREAL_MINOR_LINE REGEX "^#define CEREAL_VERSION_MINOR")
177+
file(STRINGS "${CEREAL_INCLUDE_DIR}/cereal/version.hpp" CEREAL_PATCH_LINE REGEX "^#define CEREAL_VERSION_PATCH")
178+
string(REGEX REPLACE "^#define CEREAL_VERSION_MAJOR +([0-9]+).*" "\\1" CEREAL_MAJOR "${CEREAL_MAJOR_LINE}")
179+
string(REGEX REPLACE "^#define CEREAL_VERSION_MINOR +([0-9]+).*" "\\1" CEREAL_MINOR "${CEREAL_MINOR_LINE}")
180+
string(REGEX REPLACE "^#define CEREAL_VERSION_PATCH +([0-9]+).*" "\\1" CEREAL_PATCH "${CEREAL_PATCH_LINE}")
181+
if(CEREAL_MAJOR AND CEREAL_MINOR AND CEREAL_PATCH)
182+
set(ABACUS_CEREAL_VERSION "yes (v${CEREAL_MAJOR}.${CEREAL_MINOR}.${CEREAL_PATCH})")
183+
endif()
184+
endif()
185+
if(ABACUS_CEREAL_VERSION STREQUAL "yes (version unknown)" AND CEREAL_INCLUDE_DIR)
186+
set(ABACUS_CEREAL_VERSION "yes (path: ${CEREAL_INCLUDE_DIR})")
187+
endif()
188+
else()
189+
set(ABACUS_CEREAL_VERSION "no")
190+
endif()
191+
192+
# Accelerators
193+
if(USE_CUDA AND CUDAToolkit_VERSION)
194+
set(ABACUS_CUDA_VERSION "yes (v${CUDAToolkit_VERSION})")
195+
elseif(USE_CUDA)
196+
set(ABACUS_CUDA_VERSION "yes (version unknown)")
197+
else()
198+
set(ABACUS_CUDA_VERSION "no")
199+
endif()
200+
201+
if(USE_ROCM)
202+
set(ABACUS_ROCM_VERSION "yes (version unknown)")
203+
if(HIP_VERSION)
204+
set(ABACUS_ROCM_VERSION "yes (v${HIP_VERSION})")
205+
else()
206+
find_program(HIPCC_EXECUTABLE hipcc)
207+
if(HIPCC_EXECUTABLE)
208+
execute_process(COMMAND ${HIPCC_EXECUTABLE} --version OUTPUT_VARIABLE HIPCC_VERSION_OUTPUT OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
209+
string(REGEX MATCH "HIP version: ([0-9]+\\.[0-9]+\\.[0-9]+)" _ "${HIPCC_VERSION_OUTPUT}")
210+
if(CMAKE_MATCH_1)
211+
set(ABACUS_ROCM_VERSION "yes (v${CMAKE_MATCH_1})")
212+
endif()
213+
endif()
214+
endif()
215+
if(ABACUS_ROCM_VERSION STREQUAL "yes (version unknown)" AND ROCM_PATH)
216+
set(ABACUS_ROCM_VERSION "yes (path: ${ROCM_PATH})")
217+
endif()
218+
else()
219+
set(ABACUS_ROCM_VERSION "no")
220+
endif()
221+
222+
if(DEFINED CAL_CUSOLVERMP_PATH AND ENABLE_CUSOLVERMP)
223+
set(ABACUS_CUSOLVERMP_VERSION "yes (path: ${CAL_CUSOLVERMP_PATH})")
224+
elseif(ENABLE_CUSOLVERMP)
225+
set(ABACUS_CUSOLVERMP_VERSION "yes (version unknown)")
226+
else()
227+
set(ABACUS_CUSOLVERMP_VERSION "no")
228+
endif()
229+
230+
# EXX Libraries
231+
if(ENABLE_LIBRI)
232+
set(ABACUS_LIBRI_VERSION "yes (version unknown)")
233+
set(LIBRI_VERSION_HEADER "${LIBRI_DIR}/include/RI/version.h")
234+
if(EXISTS ${LIBRI_VERSION_HEADER})
235+
file(STRINGS "${LIBRI_VERSION_HEADER}" LIBRI_MAJOR_LINE REGEX "__LIBRI_VERSION_MAJOR")
236+
file(STRINGS "${LIBRI_VERSION_HEADER}" LIBRI_MINOR_LINE REGEX "__LIBRI_VERSION_MINOR")
237+
file(STRINGS "${LIBRI_VERSION_HEADER}" LIBRI_PATCH_LINE REGEX "__LIBRI_VERSION_PATCH")
238+
string(REGEX MATCH "([0-9]+)" LIBRI_MAJOR "${LIBRI_MAJOR_LINE}")
239+
string(REGEX MATCH "([0-9]+)" LIBRI_MINOR "${LIBRI_MINOR_LINE}")
240+
string(REGEX MATCH "([0-9]+)" LIBRI_PATCH "${LIBRI_PATCH_LINE}")
241+
if(LIBRI_MAJOR AND LIBRI_MINOR AND LIBRI_PATCH)
242+
set(ABACUS_LIBRI_VERSION "yes (v${LIBRI_MAJOR}.${LIBRI_MINOR}.${LIBRI_PATCH})")
243+
endif()
244+
endif()
245+
if(ABACUS_LIBRI_VERSION STREQUAL "yes (version unknown)" AND LIBRI_DIR)
246+
set(ABACUS_LIBRI_VERSION "yes (path: ${LIBRI_DIR})")
247+
endif()
248+
else()
249+
set(ABACUS_LIBRI_VERSION "no")
250+
endif()
251+
252+
if(ENABLE_LIBCOMM AND LIBCOMM_DIR)
253+
set(ABACUS_LIBCOMM_VERSION "yes (path: ${LIBCOMM_DIR})")
254+
elseif(ENABLE_LIBCOMM)
255+
set(ABACUS_LIBCOMM_VERSION "yes (version unknown)")
256+
else()
257+
set(ABACUS_LIBCOMM_VERSION "no")
258+
endif()
259+
260+
# ML & AI Libraries
261+
if((DEFINED Torch_DIR OR ENABLE_MLALGO) AND Torch_VERSION)
262+
set(ABACUS_LIBTORCH_VERSION "yes (v${Torch_VERSION})")
263+
elseif(DEFINED Torch_DIR OR ENABLE_MLALGO)
264+
set(ABACUS_LIBTORCH_VERSION "yes (path: ${Torch_DIR})")
265+
else()
266+
set(ABACUS_LIBTORCH_VERSION "no")
267+
endif()
268+
269+
if(DEFINED DeePMD_DIR)
270+
set(ABACUS_DEEPMD_VERSION "yes (version unknown)")
271+
set(DEEPMD_VERSION_HEADER "${DeePMD_DIR}/include/deepmd/version.h")
272+
if(EXISTS ${DEEPMD_VERSION_HEADER})
273+
file(STRINGS "${DEEPMD_VERSION_HEADER}" DEEPMD_VERSION_LINE REGEX "global_install_prefix")
274+
if(DEEPMD_VERSION_LINE)
275+
string(REGEX MATCH "global_install_prefix=\".*deepmd-kit-([0-9]+\\.[0-9]+\\.[0-9]+)\"" _ "${DEEPMD_VERSION_LINE}")
276+
if(CMAKE_MATCH_1)
277+
set(ABACUS_DEEPMD_VERSION "yes (v${CMAKE_MATCH_1})")
278+
endif()
279+
endif()
280+
endif()
281+
if(ABACUS_DEEPMD_VERSION STREQUAL "yes (version unknown)")
282+
set(ABACUS_DEEPMD_VERSION "yes (path: ${DeePMD_DIR})")
283+
endif()
284+
else()
285+
set(ABACUS_DEEPMD_VERSION "no")
286+
endif()
287+
288+
if(DEFINED NEP_DIR AND NEP_VERSION)
289+
set(ABACUS_NEP_VERSION "yes (v${NEP_VERSION})")
290+
elseif(DEFINED NEP_DIR)
291+
set(ABACUS_NEP_VERSION "yes (path: ${NEP_DIR})")
292+
else()
293+
set(ABACUS_NEP_VERSION "no")
294+
endif()
295+
296+
if(DEFINED TensorFlow_DIR)
297+
set(ABACUS_TENSORFLOW_VERSION "yes (path: ${TensorFlow_DIR})")
298+
else()
299+
set(ABACUS_TENSORFLOW_VERSION "no")
300+
endif()
301+
302+
# Testing & Other Libraries
303+
if(BUILD_TESTING)
304+
set(ABACUS_GTEST_VERSION "yes (from git origin/main)")
305+
else()
306+
set(ABACUS_GTEST_VERSION "no")
307+
endif()
308+
309+
if(ENABLE_GOOGLEBENCH)
310+
set(ABACUS_GOOGLEBENCH_VERSION "yes (from git origin/main)")
311+
else()
312+
set(ABACUS_GOOGLEBENCH_VERSION "no")
313+
endif()
314+
315+
if(DEFINED RapidJSON_DIR AND ENABLE_RAPIDJSON)
316+
set(ABACUS_RAPIDJSON_VERSION "yes (path: ${RapidJSON_DIR})")
317+
elseif(ENABLE_RAPIDJSON)
318+
set(ABACUS_RAPIDJSON_VERSION "yes (from git origin/master)")
319+
else()
320+
set(ABACUS_RAPIDJSON_VERSION "no")
321+
endif()
322+
323+
if(ENABLE_MLALGO)
324+
set(ABACUS_LIBNPY_VERSION "yes (path: ${libnpy_SOURCE_DIR})")
325+
else()
326+
set(ABACUS_LIBNPY_VERSION "no")
327+
endif()
328+
329+
if(ENABLE_PEXSI)
330+
set(ABACUS_PEXSI_VERSION "yes (version unknown)")
331+
if(PEXSI_VERSION)
332+
set(ABACUS_PEXSI_VERSION "yes (v${PEXSI_VERSION})")
333+
elseif(PEXSI_DIR)
334+
set(ABACUS_PEXSI_VERSION "yes (path: ${PEXSI_DIR})")
335+
endif()
336+
else()
337+
set(ABACUS_PEXSI_VERSION "no")
338+
endif()
339+
340+
if(ENABLE_CNPY)
341+
set(ABACUS_CNPY_VERSION "yes (path: ${cnpy_SOURCE_DIR})")
342+
else()
343+
set(ABACUS_CNPY_VERSION "no")
344+
endif()
345+
346+
# --- 5. Collect CMake Configuration Summary ---
347+
set(ABACUS_CMAKE_OPTIONS "Build Options:")
348+
list(APPEND CMAKE_OPTIONS_LIST " ENABLE_MPI=${ENABLE_MPI}")
349+
list(APPEND CMAKE_OPTIONS_LIST " USE_OPENMP=${USE_OPENMP}")
350+
list(APPEND CMAKE_OPTIONS_LIST " USE_CUDA=${USE_CUDA}")
351+
list(APPEND CMAKE_OPTIONS_LIST " USE_ROCM=${USE_ROCM}")
352+
list(APPEND CMAKE_OPTIONS_LIST " ENABLE_LCAO=${ENABLE_LCAO}")
353+
list(APPEND CMAKE_OPTIONS_LIST " USE_ELPA=${USE_ELPA}")
354+
list(APPEND CMAKE_OPTIONS_LIST " ENABLE_LIBXC=${ENABLE_LIBXC}")
355+
list(APPEND CMAKE_OPTIONS_LIST " ENABLE_MLALGO=${ENABLE_MLALGO}")
356+
list(APPEND CMAKE_OPTIONS_LIST " ENABLE_ASAN=${ENABLE_ASAN}")
357+
list(APPEND CMAKE_OPTIONS_LIST " BUILD_TESTING=${BUILD_TESTING}")
358+
foreach(option_line ${CMAKE_OPTIONS_LIST})
359+
set(ABACUS_CMAKE_OPTIONS "${ABACUS_CMAKE_OPTIONS}${option_line}")
360+
endforeach()
361+
362+
set(ABACUS_CMAKE_FIND_PACKAGES "FindPackage Results:")
363+
list(APPEND CMAKE_FIND_PACKAGES_LIST " MPI Found=${MPI_FOUND}")
364+
list(APPEND CMAKE_FIND_PACKAGES_LIST " OpenMP Found=${OpenMP_CXX_FOUND}")
365+
list(APPEND CMAKE_FIND_PACKAGES_LIST " CUDA Found=${CUDA_FOUND}")
366+
list(APPEND CMAKE_FIND_PACKAGES_LIST " ROCm Found=${ROCM_FOUND}")
367+
list(APPEND CMAKE_FIND_PACKAGES_LIST " ELPA Found=${ELPA_FOUND}")
368+
list(APPEND CMAKE_FIND_PACKAGES_LIST " Libxc Found=${Libxc_FOUND}")
369+
list(APPEND CMAKE_FIND_PACKAGES_LIST " PEXSI Found=${PEXSI_FOUND}")
370+
list(APPEND CMAKE_FIND_PACKAGES_LIST " LibRI Found=${LIBRI_FOUND}")
371+
foreach(package_line ${CMAKE_FIND_PACKAGES_LIST})
372+
set(ABACUS_CMAKE_FIND_PACKAGES "${ABACUS_CMAKE_FIND_PACKAGES}${package_line}")
373+
endforeach()

0 commit comments

Comments
 (0)