mirror of https://gitlab.com/QEF/q-e.git
204 lines
4.7 KiB
CMake
204 lines
4.7 KiB
CMake
set(src_cpv
|
|
src/berryion.f90
|
|
src/bforceion.f90
|
|
src/cg.f90
|
|
src/cg_sub.f90
|
|
src/chargedensity.f90
|
|
src/cp_autopilot.f90
|
|
src/cp_emass.f90
|
|
src/cp_interfaces.f90
|
|
src/cp_restart_new.f90
|
|
src/cp_wavefunctions.f90
|
|
src/cplib.f90
|
|
src/cpr_mod.f90
|
|
src/cpr.f90
|
|
src/dealloc.f90
|
|
src/dforceb.f90
|
|
src/efermi.f90
|
|
src/efield.f90
|
|
src/eigs0.f90
|
|
src/electrons.f90
|
|
src/electrons_nose.f90
|
|
src/energies.f90
|
|
src/ensemble_dft.f90
|
|
src/environ_cp_module.f90
|
|
src/exch_corr.f90
|
|
src/exx_cg.f90
|
|
src/exx_es.f90
|
|
src/exx_gs.f90
|
|
src/exx_module.f90
|
|
src/exx_pair.f90
|
|
src/exx_psi.f90
|
|
src/exx_vofr.f90
|
|
src/forces.f90
|
|
src/fromscra.f90
|
|
src/gram.f90
|
|
src/gtable.f90
|
|
src/init.f90
|
|
src/init_run.f90
|
|
src/inner_loop_cold.f90
|
|
src/input.f90
|
|
src/ions_positions.f90
|
|
src/ksstates.f90
|
|
src/ldaU_cp.f90
|
|
src/ldaU.f90
|
|
src/ldaUpen.f90
|
|
src/mainvar.f90
|
|
src/cpr_loop.f90
|
|
src/cplib_meta.f90
|
|
src/metaxc.f90
|
|
src/modules.f90
|
|
src/move_electrons.f90
|
|
src/newd.f90
|
|
src/nl_base.f90
|
|
src/nlcc.f90
|
|
src/ortho_base.f90
|
|
src/ortho.f90
|
|
src/phasefactor.f90
|
|
src/plugin_add_potential.f90
|
|
src/plugin_clean.f90
|
|
src/plugin_clock.f90
|
|
src/plugin_energy.f90
|
|
src/plugin_ext_forces.f90
|
|
src/plugin_get_potential.f90
|
|
src/plugin_init_base.f90
|
|
src/plugin_init_cell.f90
|
|
src/plugin_initialization.f90
|
|
src/plugin_init_ions.f90
|
|
src/plugin_int_forces.f90
|
|
src/plugin_print_energies.f90
|
|
src/plugin_print_info.f90
|
|
src/plugin_read_input.f90
|
|
src/plugin_utilities.f90
|
|
src/potentials.f90
|
|
src/pres_ai_mod.f90
|
|
src/print_out.f90
|
|
src/problem_size.f90
|
|
src/pseudo_base.f90
|
|
src/pseudopot.f90
|
|
src/pseudopot_sub.f90
|
|
src/qmatrixd.f90
|
|
src/qqberry.f90
|
|
src/restart.f90
|
|
src/restart_sub.f90
|
|
src/runcp.f90
|
|
src/sic.f90
|
|
src/smallbox.f90
|
|
src/smallbox_grid.f90
|
|
src/smallbox_gvec.f90
|
|
src/smallbox_subs.f90
|
|
src/smallbox_lib.f90
|
|
src/spline.f90
|
|
src/spinsq.f90
|
|
src/stop_run.f90
|
|
src/stress.f90
|
|
src/vol_clu.f90
|
|
src/vofrho.f90
|
|
src/wannier_base.f90
|
|
src/wannier.f90
|
|
src/wave.f90
|
|
src/wave_base.f90
|
|
src/wave_types.f90
|
|
src/wf.f90
|
|
src/entropy.f90)
|
|
qe_enable_cuda_fortran("${src_cpv}")
|
|
|
|
qe_add_library(qe_cpv ${src_cpv})
|
|
target_link_libraries(qe_cpv
|
|
PRIVATE
|
|
qe_lax
|
|
qe_modules
|
|
qe_fftx
|
|
qe_upflib
|
|
qe_openmp_fortran
|
|
qe_mpi_fortran
|
|
qe_xclib
|
|
qe_device_lapack
|
|
qe_devxlib
|
|
PUBLIC
|
|
qe_openacc_fortran)
|
|
|
|
if ("legacy" IN_LIST QE_ENABLE_PLUGINS)
|
|
target_compile_definitions(qe_cpv PUBLIC __LEGACY_PLUGINS)
|
|
endif()
|
|
###########################################################
|
|
# cp.x
|
|
###########################################################
|
|
set(src_cp_x src/cprstart.f90)
|
|
qe_enable_cuda_fortran("${src_cp_x}")
|
|
qe_add_executable(qe_cpv_exe ${src_cp_x})
|
|
set_target_properties(qe_cpv_exe
|
|
PROPERTIES
|
|
OUTPUT_NAME cp.x)
|
|
target_link_libraries(qe_cpv_exe
|
|
PRIVATE
|
|
qe_modules
|
|
qe_lax
|
|
qe_cpv
|
|
qe_xclib)
|
|
|
|
###########################################################
|
|
# manycp.x
|
|
###########################################################
|
|
set(src_manycp_x src/manycp.f90)
|
|
qe_enable_cuda_fortran("${src_manycp_x}")
|
|
qe_add_executable(qe_cpv_manycp_exe ${src_manycp_x})
|
|
set_target_properties(qe_cpv_manycp_exe
|
|
PROPERTIES
|
|
OUTPUT_NAME manycp.x)
|
|
target_link_libraries(qe_cpv_manycp_exe
|
|
PRIVATE
|
|
qe_lax
|
|
qe_modules
|
|
qe_cpv
|
|
qe_xclib)
|
|
|
|
###########################################################
|
|
# cppp.x
|
|
###########################################################
|
|
set(src_cppp_x src/cppp.f90)
|
|
qe_add_executable(qe_cpv_cppp_exe ${src_cppp_x})
|
|
set_target_properties(qe_cpv_cppp_exe
|
|
PROPERTIES
|
|
OUTPUT_NAME cppp.x)
|
|
target_link_libraries(qe_cpv_cppp_exe
|
|
PRIVATE
|
|
qe_modules
|
|
qe_cpv
|
|
qe_xclib)
|
|
|
|
###########################################################
|
|
# wfdd.x
|
|
###########################################################
|
|
set(src_wfdd_x src/wfdd.f90)
|
|
qe_add_executable(qe_cpv_wfdd_exe ${src_wfdd_x})
|
|
set_target_properties(qe_cpv_wfdd_exe
|
|
PROPERTIES
|
|
OUTPUT_NAME wfdd.x)
|
|
target_link_libraries(qe_cpv_wfdd_exe
|
|
PRIVATE
|
|
qe_modules
|
|
qe_cpv
|
|
qe_xclib
|
|
qe_lapack)
|
|
|
|
###########################################################
|
|
|
|
qe_install_targets(
|
|
# Libraries
|
|
qe_cpv
|
|
# Exacutables
|
|
qe_cpv_exe
|
|
qe_cpv_manycp_exe
|
|
qe_cpv_cppp_exe
|
|
qe_cpv_wfdd_exe)
|
|
|
|
add_custom_target(cp
|
|
DEPENDS
|
|
qe_cpv_exe
|
|
qe_cpv_manycp_exe
|
|
qe_cpv_cppp_exe
|
|
qe_cpv_wfdd_exe
|
|
COMMENT
|
|
"CP code: Car-Parrinello molecular dynamics")
|