Skip to content

Commit 45dd4d2

Browse files
committed
CMake: Simplify ABACUS executable naming logic
1 parent 1ed4802 commit 45dd4d2

1 file changed

Lines changed: 20 additions & 53 deletions

File tree

CMakeLists.txt

Lines changed: 20 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -184,63 +184,30 @@ if(COMMIT_INFO)
184184
endif()
185185
endif()
186186

187-
# Different exe files of ABACUS
188-
unset(ABACUS_BIN_NAME CACHE)
187+
# Determine the ABACUS executable name.
188+
if(NOT ENABLE_LCAO)
189+
set(_abacus_bin_feature "pw")
190+
elseif(ENABLE_LIBRI AND ENABLE_MLALGO)
191+
set(_abacus_bin_feature "max")
192+
elseif(ENABLE_LIBRI)
193+
set(_abacus_bin_feature "std")
194+
elseif(ENABLE_MLALGO)
195+
set(_abacus_bin_feature "ml")
196+
else()
197+
set(_abacus_bin_feature "basic")
198+
endif()
189199

190-
# Case : LCAO or PW
191-
if(ENABLE_LCAO)
192-
# Case: CUDA is enabled (suffix with 'g' for GPU)
193-
if(USE_CUDA)
194-
if(ENABLE_MPI)
195-
if(NOT ENABLE_LIBRI AND NOT ENABLE_MLALGO)
196-
set(ABACUS_BIN_NAME abacus_basic_gpu)
197-
elseif(ENABLE_LIBRI AND NOT ENABLE_MLALGO)
198-
set(ABACUS_BIN_NAME abacus_std_gpu)
199-
elseif(NOT ENABLE_LIBRI AND ENABLE_MLALGO)
200-
set(ABACUS_BIN_NAME abacus_ml_gpu)
201-
elseif(ENABLE_LIBRI AND ENABLE_MLALGO)
202-
set(ABACUS_BIN_NAME abacus_max_gpu)
203-
endif()
204-
endif()
205-
# Case: CPU is enabled (suffix with 'p' for parallel)
206-
else()
207-
if(ENABLE_MPI)
208-
if(NOT ENABLE_LIBRI AND NOT ENABLE_MLALGO)
209-
set(ABACUS_BIN_NAME abacus_basic_para)
210-
elseif(ENABLE_LIBRI AND NOT ENABLE_MLALGO)
211-
set(ABACUS_BIN_NAME abacus_std_para)
212-
elseif(NOT ENABLE_LIBRI AND ENABLE_MLALGO)
213-
set(ABACUS_BIN_NAME abacus_ml_para)
214-
elseif(ENABLE_LIBRI AND ENABLE_MLALGO)
215-
set(ABACUS_BIN_NAME abacus_max_para)
216-
endif()
217-
else()
218-
if(NOT ENABLE_LIBRI AND NOT ENABLE_MLALGO)
219-
set(ABACUS_BIN_NAME abacus_basic_ser)
220-
elseif(ENABLE_LIBRI AND NOT ENABLE_MLALGO)
221-
set(ABACUS_BIN_NAME abacus_std_ser)
222-
elseif(NOT ENABLE_LIBRI AND ENABLE_MLALGO)
223-
set(ABACUS_BIN_NAME abacus_ml_ser)
224-
elseif(ENABLE_LIBRI AND ENABLE_MLALGO)
225-
set(ABACUS_BIN_NAME abacus_max_ser)
226-
endif()
227-
endif()
228-
endif()
229-
# Case : PW only
200+
if(USE_CUDA OR USE_ROCM)
201+
set(_abacus_bin_backend "gpu")
202+
elseif(ENABLE_MPI)
203+
set(_abacus_bin_backend "para")
204+
elseif(ENABLE_OPENMP)
205+
set(_abacus_bin_backend "omp")
230206
else()
231-
if(USE_CUDA)
232-
if(ENABLE_MPI)
233-
set(ABACUS_BIN_NAME abacus_pw_gpu)
234-
endif()
235-
else()
236-
if(ENABLE_MPI)
237-
set(ABACUS_BIN_NAME abacus_pw_para)
238-
else()
239-
set(ABACUS_BIN_NAME abacus_pw_ser)
240-
endif()
241-
endif()
207+
set(_abacus_bin_backend "ser")
242208
endif()
243209

210+
set(ABACUS_BIN_NAME "abacus_${_abacus_bin_feature}_${_abacus_bin_backend}")
244211

245212
# Use DSP hardware
246213
if (USE_DSP)

0 commit comments

Comments
 (0)