Commit Graph

255 Commits

Author SHA1 Message Date
Axel Kohlmeyer 38edf20d08
add CMake support for building LAMMPS for windows with MPI
- Handle the MPI support as an External project.
- Also we can enable a few more packages now, that depend on MPI
- Improved dependency tracking for parallel builds
- cross compiler build can now also work with ninja
2020-03-19 10:46:42 -04:00
Axel Kohlmeyer b1af0a5bd8
add workaround in CMake support for building with MinGW cross-compilers 2020-03-19 09:00:36 -04:00
Axel Kohlmeyer 3bd529342e
cross-compilation improvements 2020-03-19 09:00:36 -04:00
Axel Kohlmeyer 2714fad178
Merge branch 'master' into collected-small-changes
# Conflicts:
#	doc/src/Build_development.rst
2020-03-18 20:59:16 -04:00
Axel Kohlmeyer d1388b4ea8
Merge pull request #1941 from e-kwsm/typo
Fix typos in comments and output.
2020-03-18 20:24:06 -04:00
Axel Kohlmeyer f893f4f8c7
set host specific optimizations in CMAKE_TUNE_FLAGS, so they can be conveniently overridden 2020-03-17 14:48:20 -04:00
Christoph Junghans 0b293080c9
MSCG.cmake: fix build (hopefully) 2020-03-15 19:51:04 -06:00
Axel Kohlmeyer c0b39e654f
make MSCG library build compatible with using ninja 2020-03-15 19:07:26 -04:00
Axel Kohlmeyer a4335904b6
need to recheck for MPI after enabling fortran to have MPI_Fortran_LIBRARIES set 2020-03-15 18:37:39 -04:00
Axel Kohlmeyer 0b6ab1d15a
need to forward some (more) cmake settings to external projects. simplify KIM handling of fortran support. 2020-03-15 17:47:30 -04:00
Christoph Junghans 266a755938 CheckIfNinjaSupportsFortran.cmake -> CheckGeneratorSupport.cmake 2020-03-15 13:45:47 -06:00
Christoph Junghans 241f30fd53 added missing CheckIfNinjaSupportsFortran.cmake 2020-03-15 13:34:38 -06:00
Christoph Junghans d941130e6a USER-SCAFACOS.cmake: fix build with ninja 2020-03-14 07:04:58 -06:00
Christoph Junghans ad9415d260 USER-PLUMED.cmake: fix build with ninja 2020-03-14 06:59:04 -06:00
Christoph Junghans 9d3ca87953 MSCG.cmake: fix build with ninja 2020-03-14 06:52:06 -06:00
Christoph Junghans f9e2a2d120 LATTE.cmake: fix build with ninja 2020-03-14 06:51:00 -06:00
Christoph Junghans d0ec427293 KIM.cmake: fix build with ninja 2020-03-14 06:49:57 -06:00
Eisuke Kawashima 649a8cc01a
Fix typo 2020-03-14 13:57:48 +09:00
Christoph Junghans 6cc7ac65a5 VORONOI.cmake: fix ninja build 2020-03-13 20:46:14 -06:00
Giacomo Fiorin de6d1efe7a Remove now unneeded check for C++ standard in Lepton CMake build 2020-03-12 10:33:48 -04:00
Axel Kohlmeyer a972850b39
require CMake version 3.10. remove tests for older versions. 2020-03-04 14:28:33 -05:00
Axel Kohlmeyer 5a8eaed13b
Update handling of USER-QMMM package in CMake scripts. minor cosmetic changes 2020-02-20 14:39:53 +01:00
Axel Kohlmeyer 4cacc4701d
update plumed support to include version 2.6.0. Fix bug in API check 2020-02-13 16:03:58 +01:00
Axel Kohlmeyer 795f2fd894
properly support threaded FFTs with MKL and document it. remove commented out FFTW2 code 2020-01-27 11:00:57 -05:00
Axel Kohlmeyer 53554fdb84
add -DFFT_CUFFT for KOKKOS only when KISSFFT is not selected 2020-01-22 16:56:12 -05:00
Axel Kohlmeyer 15603e0ff7
add documentation for including cufft with KOKKOS+CUDA (for conventional build, CMake is automatic) 2020-01-12 21:46:02 -05:00
Axel Kohlmeyer 3784df23f0
use FFT_FFTW_THREADS consistently, add CUFFT to CMake, minor improvements 2020-01-12 21:32:07 -05:00
Axel Kohlmeyer 7cb36d1705
Merge branch 'master' into fft 2020-01-12 20:22:15 -05:00
jotelha 46584d4520
Update cmake/Modules/FindPNetCDF.cmake
Co-Authored-By: Christoph Junghans <christoph.junghans@gmail.com>
2020-01-07 13:26:01 +01:00
jotelha 24ef36dd4d
Update cmake/Modules/FindPNetCDF.cmake
Co-Authored-By: Christoph Junghans <christoph.junghans@gmail.com>
2020-01-07 13:25:54 +01:00
jotelha 3f24144abd
Update cmake/Modules/FindPNetCDF.cmake
Co-Authored-By: Christoph Junghans <christoph.junghans@gmail.com>
2019-12-22 13:25:24 +01:00
jotelha 0c7d6a01e8
Update cmake/Modules/FindNetCDF.cmake
Co-Authored-By: Christoph Junghans <christoph.junghans@gmail.com>
2019-12-22 13:25:08 +01:00
jotelha 4e7bcee8e3
Update cmake/Modules/FindNetCDF.cmake
Co-Authored-By: Christoph Junghans <christoph.junghans@gmail.com>
2019-12-22 13:24:34 +01:00
Johannes Hörmann c8a53d560a Find parallel NetCDF with cmake for USER-NETCDF
Conflicts:
	cmake/presets/forhlr2-gnu.cmake
2019-12-20 17:59:05 +01:00
Stan Moore c169e88268 Update from master 2019-12-13 16:42:05 -07:00
Richard Berger 1f9f85e798 Mark LMP_NO_SSL_CHECK and LMP_DEBUG_CURL as advanced options 2019-12-12 14:17:32 -05:00
Yaser Afshar b0d0037f50 Certificate Verification
if SSL report an error ("certificate verify failed") during the
handshake and thus refuses further communication with that server,
you can specify your own CA cert path by setting the environment
variable CURL_CA_BUNDLE to the path of your choice.
2019-12-12 12:57:34 -06:00
Richard Berger 19b265f845 Update CMake-based doc build 2019-11-16 23:57:12 -05:00
Axel Kohlmeyer 6767fa5604
update supported plumed library to version 2.5.3 2019-10-20 16:27:32 -04:00
Axel Kohlmeyer f4fcd2a911
flag that MESSAGE package is not compatible with -DLAMMPS_BIGBIG 2019-10-19 09:50:07 -04:00
Axel Kohlmeyer 108b9a0a36
USER-MOLFILE cannot be configured with CMake 2.8.12, requiring 3.10. 2019-10-17 06:33:13 -04:00
Giacomo Fiorin 2c9ae7ab4b Add -DCOLVARS_LEPTON, track user's choice via DISABLE_CXX11_REQUIREMENT 2019-10-16 08:35:37 -04:00
Giacomo Fiorin b6a6638f49 Add CMake recipe for USER-COLVARS, test C++11 before including Lepton 2019-10-14 16:05:45 -04:00
Axel Kohlmeyer 766b8c58d8
Merge branch 'master' into fft 2019-10-08 16:51:11 +02:00
Axel Kohlmeyer 178ca78dd9 add TODO comment for experimental and thus currently undocumented CMake option 2019-10-07 18:57:28 +02:00
Christoph Junghans 3f0d1cb270 cmake: LMP_KOKKOS define is always needed 2019-09-24 13:15:48 -06:00
Christoph Junghans d7a8792916 cmake: allow to build against an external libkokkos 2019-09-19 14:26:07 -06:00
Axel Kohlmeyer d62ef0df82
add omitted cmake entries for recent KOKKOS package changes 2019-09-13 12:26:07 -04:00
Axel Kohlmeyer 11cb542211
add omitted cmake entries for recent KOKKOS package changes 2019-09-12 15:59:37 -04:00
Axel Kohlmeyer cd57708e85
Merge branch 'master' into fft 2019-09-12 15:51:02 -04:00
Axel Kohlmeyer 92c77a2b37
Merge pull request #1634 from junghans/kim-api-version
cmake: add version check for kim-api
2019-09-05 13:59:46 -04:00
Richard Berger 364ccf6361 Fix typo 2019-09-04 16:26:03 -04:00
Richard Berger 09937c9941 Add missing npair style for KOKKOS when using CMake 2019-08-22 18:36:36 -04:00
Ryan S. Elliott 5cee51204c Adjust warnings for default kim download behavior settings 2019-08-17 12:04:00 -05:00
Ryan S. Elliott 3a4e6c0dfd Revert "Update FindKIM-API.cmake"
This reverts commit 2f531d0dab.
2019-08-17 11:40:13 -05:00
Christoph Junghans 2f531d0dab
Update FindKIM-API.cmake 2019-08-16 12:05:20 -06:00
Christoph Junghans 379fa22147 FindKIM-API.cmake: address Ryan's comments 2019-08-16 10:30:09 -06:00
Ryan S. Elliott 42711245a2 bump kim-api to 2.1.3 2019-08-16 10:08:23 -06:00
Christoph Junghans cd77f71e99 cmake: add version check for kim-api 2019-08-15 12:56:15 -06:00
Axel Kohlmeyer 5c25355b9b
update comments 2019-08-02 12:18:10 -04:00
Axel Kohlmeyer 6a65deeb65
make support for threaded FFTW3 consistent and incorporate it into CMake
This now also includes threaded FFTW3 for regular FFTs, not only KOKKOS.
2019-08-02 12:14:32 -04:00
Axel Kohlmeyer 8b134cb0c9
refactor FFT handling in CMake module for KSPACE.
This also improves the FFT info output in the PPPM styles

# Conflicts:
#	cmake/Modules/Packages/KSPACE.cmake
2019-08-02 12:14:27 -04:00
Axel Kohlmeyer 5b4b418289
use check_language() instead of enable_language() to get fortran compiler name 2019-08-01 18:24:14 -04:00
Axel Kohlmeyer f9e34825f0
workaround for xcode oddity with compiling voro++ 2019-08-01 16:42:52 -04:00
Axel Kohlmeyer 528ec75f88
special case for MacOSX not needed 2019-07-30 16:38:40 -04:00
Axel Kohlmeyer f5bf86b32d
more improvements to CMake build for USER-PLUMED on MacOSX
default to shared linkage on MacOSX to avoid linker issues from
configure/cmake library detection differences

link/depend on GSL and LAPACK explicitly only for static linkage
2019-07-30 16:27:00 -04:00
Axel Kohlmeyer 2d93a713e2
Merge branch 'master' into collected-small-changes 2019-07-30 14:14:11 -04:00
Stan Moore 9a43a6824c Fix issues 2019-07-30 09:25:24 -06:00
Axel Kohlmeyer 7ab7691c51
update PLUMED support to version 2.5.2 2019-07-30 05:57:57 -04:00
Ryan S. Elliott c9f3f99ee8 Update to kim-api-2.1.2 2019-07-29 21:48:12 -05:00
Stan Moore 4874fcc32a
Merge branch 'master' into fft 2019-07-29 14:05:46 -06:00
Ryan S. Elliott 010cb0edf3 Add warning to cmake if PKG_KIM=ON but DOWNLOAD_KIM not set & KIM is not found
This can be a scenario where the user has KIM installed but does not have the
environment setup correctly to be found.  The config. step should provide some
warning of this.  Otherwise, it is easy to miss the fact that KIM is being
downloaded and built.
2019-07-26 11:10:54 -05:00
Ryan S. Elliott ca291f1015 Update to kim-api-2.1.1 2019-07-25 11:47:56 -05:00
Axel Kohlmeyer 6ee38d4887
use ${CMAKE_SHARED_LIBRARY_SUFFIX) for better portability 2019-07-24 16:02:36 -04:00
Axel Kohlmeyer 24d9c537c0
only search for LAPACK when building in static mode and when it is not needed for something else 2019-07-24 16:01:46 -04:00
Ryan S. Elliott 03d26f6f6f Merge branch 'master' into kim-simulator-models 2019-07-21 13:59:48 -05:00
Axel Kohlmeyer 06275b03c0
refactor FFT handling in CMake module for KSPACE.
This also improves the FFT info output in the PPPM styles
2019-07-17 15:46:39 -04:00
Ryan S. Elliott 354f4d19fd Update to kim-api-2.1.0 release 2019-07-16 22:11:23 -05:00
Stan Moore 94cb1a8a6a Add CUFFT to KSPACE.cmake 2019-07-02 11:40:23 -06:00
Ellad Tadmor 483353a017 Merge remote-tracking branch 'lammps/master' into kim-simulator-models 2019-06-24 15:35:06 -05:00
Axel Kohlmeyer 995b6b31a2
flag a couple more packages that contain sub-builds of downloaded code 2019-06-17 16:05:54 -04:00
Axel Kohlmeyer f4f4a7c850
adapt for Ninja build tool, which cannot handle sub-builds and fortran
so builds of downloaded libraries are not supported right now
2019-06-17 14:24:51 -04:00
Axel Kohlmeyer dbafb92dd5
cmake minor cleanup and removal of redundant code and empty lines 2019-06-11 14:02:41 -04:00
Axel Kohlmeyer 4cee333c07
need to use C++ compiler when checking for includes
this is the same bugfix as in PR #1504
2019-06-11 07:12:39 -04:00
Richard Berger b368b11d60 Move ShowHelp test into Testing.cmake 2019-06-09 22:31:56 -04:00
Richard Berger 591e6836fd Move CMake configuration for USER-H5MD into its own file 2019-06-09 22:24:59 -04:00
Richard Berger 4ecd81f81b Move CMake configuration of PYTHON package into its own file 2019-06-09 21:48:05 -04:00
Richard Berger 203c6d122b Move KSPACE CMake configuration into its own file 2019-06-09 21:37:34 -04:00
Richard Berger e788d32678 Move autogen check into utility function 2019-06-09 04:02:08 -04:00
Richard Berger ae59ffe83e Move more CMake configurations to own files 2019-06-09 03:54:52 -04:00
Richard Berger 99a8d3c2ed Create CMake files for several packages
This remove the CMake configuration of several larger packages and places
it into their own files in the Modules/Packages folder.
 - COMPRESS
 - KIM
 - LATTE
 - MESSAGE
 - MSCG
 - USER-MOLFILE
 - USER-NETCDF
 - USER-PLUMED
 - USER-QMMM
 - USER-QUIP
 - USER-SCAFACOS
 - USER-SMD
 - USER-VTK
2019-06-09 03:35:25 -04:00
Richard Berger ca1445788e Move CMake configuration of VORONOI package into its own file 2019-06-09 03:23:23 -04:00
Richard Berger 0908bd7aaf Move code coverage and testing into their own files 2019-06-09 03:18:20 -04:00
Richard Berger afab5ef303 Move CMake part on coverage into its own file 2019-06-07 12:24:35 -04:00
Richard Berger a7c02e699e Move CMake utilities into LAMMPSUtils.cmake 2019-06-07 12:18:49 -04:00
Richard Berger 8fed39d726 Move CMake documentation build section into its own file 2019-06-07 12:16:01 -04:00
Axel Kohlmeyer daac3f7102
Merge pull request #1419 from akohlmey/report-uninstalled-pkg-style
Improved error messages when a style is not found
2019-05-30 06:34:56 -04:00
Richard Berger 7fbd409f5b Fix GenerateOpenCLHeader CMake utilitiy to avoid uncompilable CL code 2019-04-30 12:59:27 -04:00
Axel Kohlmeyer db74f14f33
Merge branch 'master' into report-uninstalled-pkg-style
# Conflicts:
#	cmake/CMakeLists.txt
2019-04-08 17:16:30 -04:00
Axel Kohlmeyer 6ee002d6cf
add cmake support for enhanced missing style error reports 2019-04-07 22:32:31 -04:00
Ryan S. Elliott 47b7437976 Have FindKIM-API.cmake work in QUIET mode 2019-04-06 15:08:15 -05:00
Ryan S. Elliott 6643a4ec92 Fixup FindKIM-API.cmake and clean up some v2 remnants 2019-04-06 14:20:21 -05:00
Axel Kohlmeyer 4d3c1785c6
add utility function to add custom integrate style 2019-03-31 17:12:11 -04:00
Ryan S. Elliott a28ae7c2c0 Rename FindKIM-API.cmake.in to FindKIM-API.cmake
Fixes: #1396
2019-03-30 13:56:02 -05:00
Ryan S. Elliott 9d0e518cc5 Updates for kim-api-2.0.2 release 2019-03-28 15:35:22 -05:00
Axel Kohlmeyer b0a07f189c
must use top-level dir to get the correct modified status 2019-03-25 21:18:17 -04:00
Christoph Junghans 414f9b25d1 cmake: move lmpgitversion generation to build phase 2019-03-23 08:01:41 -06:00
Axel Kohlmeyer e6df92e65a
Merge pull request #1011 from ellio167/kim-v2-update
KIM v2 update
2019-02-21 20:06:59 -05:00
Richard Berger f25b06fab0 Fixes part of issue #1278
Moving a style header or touching it will now trigger a reconfiguration before
building, which triggers style files to be regenerated.
2019-02-17 20:53:21 -05:00
Ryan S. Elliott e95cf4e917 Some various doc updates for kim-api support 2019-02-14 13:38:28 -06:00
Ryan S. Elliott dd61ded311 Update cmake build to work with cmake-based KIM 2018-11-05 09:31:21 -06:00
Ryan S. Elliott 1b98c0e40d Merge remote-tracking branch 'lammps/master' into kim-v2-update 2018-10-30 18:40:55 -05:00
Richard Berger 27a46cec8c Add src directory to PreventInSourceBuilds checks 2018-10-19 17:25:18 -04:00
Ryan S. Elliott f61f43a56b Merge branch 'master' into kim-v2-update 2018-10-01 21:17:26 -05:00
Christoph Junghans 2da999d864 cmake: prevent in-source build 2018-09-27 12:18:43 -06:00
Christoph Junghans 861a7acdf0 cmake: fix globbing in some more places 2018-09-07 06:40:06 -06:00
Richard Berger ad498811b1 cmake: add missing fix_omp.h and fix_omp.cpp to compilation 2018-09-05 16:04:35 -04:00
Steve Plimpton 78301e5e93 Merge branch 'master' into cslib 2018-08-31 16:30:28 -06:00
Richard Berger dbc0f0eea0 Ensure generated style headers are sorted 2018-08-27 12:17:57 -04:00
Steven J. Plimpton 89a3670fb5 merge master into cslib branch, update docs 2018-08-22 11:19:55 -06:00
Ryan S. Elliott d0667d21cc Merge branch 'master' into kim-v2-update 2018-08-18 12:23:19 -05:00
Richard Berger 13bb02b100 Updated CMake build for USER-INTEL
- Removed differences between MAKE/OPTIONS/Makefile.intel_cpu/coprocessor and
  CMake compilation and added INTEL_ARCH to select between CPU and KNL.
- Added some sanity checks for requirements
- Added FindTBB
2018-08-13 19:58:54 -04:00
Axel Kohlmeyer bc8939a08b more corrections/rewrites/additions for OpenMP, QM/MM and USER-QUIP 2018-08-10 15:55:32 +02:00
Steven J. Plimpton c2c654c87b CMake additions to new MESSAGE package 2018-07-24 11:44:15 -06:00
Ryan S. Elliott 955fe583d8 Updated docs for new pair_kim 2018-07-11 15:09:57 -07:00
Richard Berger e0dc53ab3f Simplify CreateStyleHeader CMake utility 2018-06-28 14:22:37 -04:00
Richard Berger 206d349d5b Simplify DetectBuildSystemConflict CMake utility 2018-06-28 14:16:56 -04:00
Richard Berger e2c03f0596 Simplify build system conflict checks
- removes redundant code for conflict checks
- updates and expands original check to report fatal error instead of ignoring
  files
- removes obsolete DetectAndRemovePackageHeader and RemovePackageHeader utility
  functions which are no longer needed
- adds utility function DetectBuildSystemConflict, which loops over files and
  reports an error if they exist in the lammps src directory.
- updates definition of LAMMPS_SOURCE_DIR, LAMMPS_LIB_SOURCE_DIR and
  LAMMPS_LIB_BINARY_DIR to be absolute paths. This improves instructions in
  error messages
2018-06-25 03:09:42 -04:00
Christoph Junghans b2da3ca3e9 cmake: add DOWNLOAD_MSCG option 2018-05-17 17:23:54 -06:00
Christoph Junghans d43c556263 cmake: fix typo and added summary for KSPACE package 2018-05-10 16:11:10 -06:00
Christoph Junghans a25895d31d cmake: add FFT_SINGLE option 2018-05-10 12:52:04 -06:00
Christoph Junghans 4f762deff8 cmake: drop FFTW2 support 2018-05-10 12:37:11 -06:00
Richard Berger b9184ef441 Add special KOKKOS styles individually
This avoids unnecessary dependencies
2017-12-20 04:51:46 -05:00
Richard Berger ff2b61354d Bugfix for building LAMMPS+KOKKOS+DPD with CMake
Resolves issue #753, but there might be more work ahead.
2017-12-20 03:17:40 -05:00
Christoph Junghans 17aeccf19f Merge remote-tracking branch 'origin/master' into latte 2017-09-15 16:18:13 -06:00
Christoph Junghans 66f59f9ec0 FindLATTE.cmake: fixed a typo 2017-09-13 15:51:03 -06:00
Richard Berger ff18cff46b Merge branch 'cmake_pkg_libs' into cmake_improvements 2017-09-08 23:34:59 -04:00
Richard Berger 8a06a7bc6b Add OpenCL support to CMake build 2017-09-08 22:20:47 -04:00
Christoph Junghans fce633aa5f cmake: tweaks for EXAALT superbuild, add latte_fix 2017-09-08 11:33:49 -06:00
Richard Berger aef2416ece Simplify CMake script 2017-08-20 10:49:30 -04:00
Richard Berger c9d41dbb47 Ignore installed package files when using cmake 2017-08-19 06:33:27 -04:00
Christoph Junghans babba1870e added FFTW2 support 2017-07-19 15:33:02 -06:00
Christoph Junghans 2961ba7ebb added MKL support 2017-07-19 10:35:48 -06:00
Christoph Junghans 7605f72c9a finish USER-QMMM 2017-07-16 22:37:51 -06:00
Christoph Junghans 22ecd9b8d2 started on USER-QMMM 2017-07-16 22:07:21 -06:00
Christoph Junghans fa0f8a9e2a added USER-QUIP 2017-07-16 21:31:57 -06:00
Christoph Junghans b6385d6ce2 add OpenKIM support 2017-07-16 20:17:41 -06:00
Christoph Junghans c549a16a85 enable REPLICA RIGID SHOCK SNAP SRD VORONOI 2017-07-16 11:30:09 -06:00
Richard Berger b15f75d37b Merge branch 'cmake' of github.com:junghans/lammps into cmake 2017-07-14 22:08:06 -05:00
Richard Berger 5e841bfe15 Added USER-OMP support to CMake build 2017-07-14 22:07:53 -05:00