1  set(OPENMP_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/OPENMP)
2  set(OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/thr_data.cpp
3                       ${OPENMP_SOURCES_DIR}/thr_omp.cpp
4                       ${OPENMP_SOURCES_DIR}/fix_omp.cpp
5                       ${OPENMP_SOURCES_DIR}/fix_nh_omp.cpp
6                       ${OPENMP_SOURCES_DIR}/fix_nh_sphere_omp.cpp
7                       ${OPENMP_SOURCES_DIR}/domain_omp.cpp)
8  target_compile_definitions(lammps PRIVATE -DLMP_OPENMP)
9  set_property(GLOBAL PROPERTY "OMP_SOURCES" "${OPENMP_SOURCES}")
10
11  # detects styles which have OPENMP version
12  RegisterStylesExt(${OPENMP_SOURCES_DIR} omp OMP_SOURCES)
13  RegisterFixStyle(${OPENMP_SOURCES_DIR}/fix_omp.h)
14
15  get_property(OPENMP_SOURCES GLOBAL PROPERTY OMP_SOURCES)
16
17  # manually add package dependent source files from OPENMP that do not provide styles
18
19  if(PKG_ASPHERE)
20    list(APPEND OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/fix_nh_asphere_omp.cpp)
21  endif()
22
23  if(PKG_RIGID)
24    list(APPEND OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/fix_rigid_nh_omp.cpp)
25  endif()
26
27  if(PKG_REAXFF)
28    list(APPEND OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/reaxff_bond_orders_omp.cpp
29                                 ${OPENMP_SOURCES_DIR}/reaxff_hydrogen_bonds_omp.cpp
30                                 ${OPENMP_SOURCES_DIR}/reaxff_nonbonded_omp.cpp
31                                 ${OPENMP_SOURCES_DIR}/reaxff_bonds_omp.cpp
32                                 ${OPENMP_SOURCES_DIR}/reaxff_init_md_omp.cpp
33                                 ${OPENMP_SOURCES_DIR}/reaxff_torsion_angles_omp.cpp
34                                 ${OPENMP_SOURCES_DIR}/reaxff_forces_omp.cpp
35                                 ${OPENMP_SOURCES_DIR}/reaxff_multi_body_omp.cpp
36                                 ${OPENMP_SOURCES_DIR}/reaxff_valence_angles_omp.cpp)
37  endif()
38
39  target_sources(lammps PRIVATE ${OPENMP_SOURCES})
40  target_include_directories(lammps PRIVATE ${OPENMP_SOURCES_DIR})
41