ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/CMakeLists.txt
Revision: 2079
Committed: Tue Mar 10 15:20:28 2015 UTC (10 years, 4 months ago) by gezelter
Content type: text/plain
File size: 29783 byte(s)
Log Message:
Updated some of the root-level text files for 2.3 release

File Contents

# User Rev Content
1 chuckv 1466 # Top level cmake script for OpenMD.
2 gezelter 1694 project(OpenMD CXX)
3     cmake_minimum_required(VERSION 2.8.5)
4 chuckv 1466
5 gezelter 1668 SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules")
6    
7     if (NOT CMAKE_BUILD_TYPE)
8     set(CMAKE_BUILD_TYPE "Release")
9     endif()
10    
11 gezelter 1767 IF(WIN32)
12     ADD_DEFINITIONS(/D _CRT_SECURE_NO_WARNINGS)
13     ENDIF(WIN32)
14    
15 gezelter 2065 if (NOT NO_PARALLEL)
16     find_package(MPI)
17     if (NOT MPI_CXX_FOUND)
18     message(STATUS "========== OpenMD Parallel Information ==========")
19     message(STATUS )
20     message(STATUS "No MPI compiler found. Perhaps you want to set one explicitly?")
21     message(STATUS "To override the default compiler, set the environment variable")
22     message(STATUS " export CXX=/full/path/to/mpic++")
23     message(STATUS "in bash or ksh or sh. In csh or tcsh, use:")
24     message(STATUS " setenv CXX /full/path/to/mpic++")
25     message(STATUS "before running the cmake command.")
26     message(STATUS )
27     message(STATUS "=================================================")
28     endif()
29     IF ( MPI_CXX_FOUND )
30     INCLUDE_DIRECTORIES(${MPI_CXX_INCLUDE_PATH})
31     ENDIF()
32 gezelter 1694 endif()
33    
34 gezelter 1668 include(CheckCXXCompilerFlag)
35 gezelter 1694 include(CheckIncludeFileCXX)
36     include(CheckCXXSymbolExists)
37 gezelter 1668
38 gezelter 2065 if ( CMAKE_COMPILER_IS_GNUCXX )
39 gezelter 2057 add_definitions("-Wall")
40 gezelter 2065 endif ( CMAKE_COMPILER_IS_GNUCXX )
41 gezelter 2057 if ( MSVC )
42     add_definitions("/W3")
43     endif ( MSVC )
44    
45 chuckv 1466 # OpenMD version number.
46 chuckv 1496 set (VERSION_MAJOR "2")
47 gezelter 2045 set (VERSION_MINOR "3")
48 chuckv 1496 set (VERSION_TINY "0")
49 gezelter 1668 option(SINGLE_PRECISION "Build Single precision (float) version" OFF)
50    
51 gezelter 1647 IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
52 gezelter 1790 IF(WIN32)
53     SET(CMAKE_INSTALL_PREFIX "C:/Program Files (x86)/openmd"
54     CACHE PATH "OpenMD install prefix" FORCE)
55     ELSE(WIN32)
56     SET(CMAKE_INSTALL_PREFIX "/usr/local/openmd"
57     CACHE PATH "OpenMD install prefix" FORCE)
58     ENDIF(WIN32)
59 gezelter 1647 ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
60 gezelter 1790 ADD_DEFINITIONS( -DFRC_PATH=${CMAKE_INSTALL_PREFIX}/forceFields )
61 chuckv 1466
62 gezelter 1647 # ---------- Setup output Directories -------------------------
63     SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY
64     ${PROJECT_BINARY_DIR}/lib
65     CACHE PATH
66     "Single directory for all shared libraries"
67     )
68     # --------- Setup the Executable output Directory -------------
69     SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY
70     ${PROJECT_BINARY_DIR}/bin
71     CACHE PATH
72     "Single directory for all Executables."
73     )
74     # --------- Setup the static library directory -------------
75     SET (CMAKE_ARCHIVE_OUTPUT_DIRECTORY
76     ${PROJECT_BINARY_DIR}/lib
77     CACHE PATH
78     "Single directory for all static libraries."
79     )
80    
81 gezelter 1636 FIND_PACKAGE(Subversion)
82     IF ( Subversion_FOUND AND EXISTS ${PROJECT_SOURCE_DIR}/.svn )
83     Subversion_WC_INFO(${PROJECT_SOURCE_DIR} Project)
84 gezelter 1694 MESSAGE(STATUS "Current revision is ${Project_WC_REVISION}")
85 gezelter 1636 Subversion_WC_LOG(${PROJECT_SOURCE_DIR} Project)
86     SET(SVN_REV ${Project_WC_REVISION})
87 gezelter 1652 SET(GENERATELOGS "${PROJECT_SOURCE_DIR}/doc/svn2cl")
88     ADD_CUSTOM_TARGET(ChangeLog
89     COMMAND ${GENERATELOGS} "--group-by-day" "--include-rev"
90     "--linelen=78" "--output=${PROJECT_BINARY_DIR}/ChangeLog" "${PROJECT_SOURCE_DIR}"
91     )
92 gezelter 1836 ELSE()
93     SET(SVN_REV Release)
94 gezelter 1636 ENDIF()
95    
96 gezelter 1694 check_include_file_cxx(conio.h HAVE_CONIO_H)
97     check_cxx_symbol_exists(strncasecmp "string.h" HAVE_STRNCASECMP)
98 gezelter 1668
99 chuckv 1466 # Optional libraries: If we can find these, we will build with them
100     # Look for OpenBabel libraries
101 chuckv 1496 find_package(OpenBabel2)
102     IF(OPENBABEL2_FOUND)
103     SET(USE_OPENBABEL)
104     include_directories(${OPENBABEL2_INCLUDE_DIR})
105 gezelter 1694 # link libraries are added only for targets that need them.
106 gezelter 1695 ELSE(OPENBABEL2_FOUND)
107 gezelter 1705 MESSAGE(STATUS "No OpenBabel found - will not build atom2md")
108 chuckv 1496 ENDIF(OPENBABEL2_FOUND)
109    
110 chuckv 1466 #Look for QHULL Libraries
111 gezelter 1694 find_package(Qhull)
112 chuckv 1496 IF(QHULL_FOUND)
113     SET(HAVE_QHULL 1)
114 chuckv 1500 include_directories(${QHULL_INCLUDE_DIR})
115 chuckv 1496 LINK_LIBRARIES(${QHULL_LIBRARIES})
116 gezelter 1695 ELSE(QHULL_FOUND)
117 gezelter 1705 MESSAGE(STATUS "No Qhull found - will be missing some features")
118 chuckv 1496 ENDIF(QHULL_FOUND)
119 chuckv 1466
120 chuckv 1496 # zlib stuff
121     find_package(ZLIB)
122     if(ZLIB_FOUND)
123     SET(HAVE_LIBZ 1)
124     add_definitions(-DHAVE_LIBZ)
125     include_directories(${ZLIB_INCLUDE_DIR})
126     LINK_LIBRARIES(${ZLIB_LIBRARIES})
127 gezelter 1695 ELSE(ZLIB_FOUND)
128 gezelter 1705 MESSAGE(STATUS "No zlib found - will be missing compressed dump files")
129 chuckv 1496 endif(ZLIB_FOUND)
130    
131 gezelter 1695 #FFTW3
132 gezelter 1694 IF(SINGLE_PRECISION)
133     find_package(FFTW3 COMPONENTS single)
134     else()
135     find_package(FFTW3 COMPONENTS double)
136     endif(SINGLE_PRECISION)
137     if (FFTW3_FOUND)
138     include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${FFTW3_INCLUDE_DIR})
139 chuckv 1496 SET(HAVE_LIBFFTW 1)
140 gezelter 1668 SET(HAVE_FFTW3_H 1)
141 gezelter 1694 INCLUDE_DIRECTORIES(${FFTW3_INCLUDE_DIR})
142     LINK_LIBRARIES(${FFTW3_LIBRARIES})
143 gezelter 1695 ELSE(FFTW3_FOUND)
144 gezelter 1705 MESSAGE(STATUS "No fftw3 found - will be missing some analysis modules")
145 gezelter 1694 endif (FFTW3_FOUND)
146 chuckv 1496
147 gezelter 1694
148 gezelter 1651 # add a target to generate API documentation with Doxygen
149     find_package(Doxygen)
150     if(DOXYGEN_FOUND)
151     configure_file("${CMAKE_CURRENT_SOURCE_DIR}/doc/Doxyfile.in" "${CMAKE_CURRENT_BINARY_DIR}/doc/Doxyfile" @ONLY)
152     add_custom_target(doc
153     ${DOXYGEN_EXECUTABLE} "${CMAKE_CURRENT_BINARY_DIR}/doc/Doxyfile"
154     WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/doc"
155     COMMENT "Generating API documentation with Doxygen" VERBATIM
156     )
157     endif(DOXYGEN_FOUND)
158 chuckv 1496
159 gezelter 1639 FIND_PACKAGE(Perl)
160     IF(PERL_FOUND)
161     SET(PERL ${PERL_EXECUTABLE})
162     ELSE(PERL_FOUND)
163 gezelter 1695 MESSAGE(STATUS "Failed to find perl - some scripts will not be made")
164 gezelter 1639 ENDIF(PERL_FOUND)
165    
166 gezelter 1695 SET(PERL_INSTALLDIRS "site" CACHE STRING "Perl installation
167     locations")
168    
169 gezelter 1639 FIND_PACKAGE(PythonInterp)
170     IF(PYTHON_EXECUTABLE)
171     SET(PYTHON ${PYTHON_EXECUTABLE})
172     ELSE(PYTHON_EXECUTABLE)
173 gezelter 1695 MESSAGE(STATUS "Failed to find python - some scripts will not be made")
174 gezelter 1639 ENDIF(PYTHON_EXECUTABLE)
175    
176 gezelter 2042 FIND_PACKAGE(NumPy)
177     IF(NOT NUMPY_FOUND)
178     MESSAGE(STATUS "Failed to find NumPy - some scripts will not be made")
179     ENDIF(NOT NUMPY_FOUND)
180    
181    
182 chuckv 1496 configure_file (
183     "${PROJECT_SOURCE_DIR}/src/config.h.cmake"
184 gezelter 1655 "${PROJECT_BINARY_DIR}/config.h"
185     )
186 gezelter 1976 configure_file(
187     "${PROJECT_SOURCE_DIR}/src/utils/Revision.cpp.in"
188     "${PROJECT_BINARY_DIR}/Revision.cpp"
189     )
190    
191 gezelter 1655 include_directories("${PROJECT_BINARY_DIR}" "${PROJECT_SOURCE_DIR}/src")
192 chuckv 1496
193 chuckv 1466 #Add executables for build
194 gezelter 1639 set (PROGRAMS
195     openmd
196     openmd_MPI
197     Dump2XYZ
198     simpleBuilder
199     StaticProps
200     DynamicProps
201 gezelter 2024 SequentialProps
202 gezelter 1639 randomBuilder
203     nanoparticleBuilder
204     thermalizer
205 gezelter 1879 recenter
206 gezelter 1639 atom2md
207     Hydro)
208 chuckv 1466
209 gezelter 1639 set(SOURCE
210 gezelter 1976 "${PROJECT_BINARY_DIR}/Revision.cpp"
211 gezelter 1639 src/antlr/ANTLRUtil.cpp
212     src/antlr/ASTFactory.cpp
213     src/antlr/ASTNULLType.cpp
214     src/antlr/ASTRefCount.cpp
215     src/antlr/BaseAST.cpp
216     src/antlr/BitSet.cpp
217     src/antlr/CommonAST.cpp
218     src/antlr/CommonASTWithHiddenTokens.cpp
219     src/antlr/CommonHiddenStreamToken.cpp
220     src/antlr/CommonToken.cpp
221     src/antlr/LLkParser.cpp
222     src/antlr/MismatchedCharException.cpp
223     src/antlr/MismatchedTokenException.cpp
224     src/antlr/NoViableAltException.cpp
225     src/antlr/NoViableAltForCharException.cpp
226     src/antlr/Parser.cpp
227     src/antlr/RecognitionException.cpp
228     src/antlr/String.cpp
229     src/antlr/Token.cpp
230     src/antlr/TokenRefCount.cpp
231     src/antlr/TokenStreamBasicFilter.cpp
232     src/antlr/TokenStreamHiddenTokenFilter.cpp
233     src/antlr/TokenStreamRewriteEngine.cpp
234     src/antlr/TokenStreamSelector.cpp
235     src/antlr/TreeParser.cpp
236     src/brains/BlockSnapshotManager.cpp
237     src/brains/DataStorage.cpp
238 gezelter 1725 src/brains/ForceField.cpp
239 gezelter 1639 src/brains/MoleculeCreator.cpp
240     src/brains/PairList.cpp
241     src/brains/Register.cpp
242     src/brains/SimSnapshotManager.cpp
243     src/brains/Snapshot.cpp
244     src/brains/Stats.cpp
245 gezelter 1748 src/constraints/Shake.cpp
246 gezelter 1639 src/constraints/Rattle.cpp
247     src/hydrodynamics/Ellipsoid.cpp
248     src/hydrodynamics/HydroProp.cpp
249     src/hydrodynamics/Sphere.cpp
250     src/integrators/DLM.cpp
251 gezelter 1766 src/flucq/FluctuatingChargeLangevin.cpp
252 gezelter 1743 src/flucq/FluctuatingChargeParameters.cpp
253 gezelter 1731 src/flucq/FluctuatingChargeNVT.cpp
254 gezelter 1743 src/flucq/FluctuatingChargePropagator.cpp
255 gezelter 1639 src/integrators/Integrator.cpp
256     src/integrators/IntegratorFactory.cpp
257     src/integrators/LangevinDynamics.cpp
258     src/integrators/LDForceManager.cpp
259     src/integrators/NgammaT.cpp
260 gezelter 2011 src/integrators/NPA.cpp
261 gezelter 1639 src/integrators/NPAT.cpp
262     src/integrators/NPrT.cpp
263     src/integrators/NPT.cpp
264     src/integrators/NPTf.cpp
265     src/integrators/NPTi.cpp
266     src/integrators/NPTsz.cpp
267     src/integrators/NPTxyz.cpp
268     src/integrators/NVE.cpp
269     src/integrators/NVT.cpp
270     src/integrators/VelocityVerletIntegrator.cpp
271     src/io/AtomTypesSectionParser.cpp
272     src/io/BaseAtomTypesSectionParser.cpp
273     src/io/BendTypesSectionParser.cpp
274     src/io/BondTypesSectionParser.cpp
275     src/io/ChargeAtomTypesSectionParser.cpp
276     src/io/DirectionalAtomTypesSectionParser.cpp
277     src/io/EAMAtomTypesSectionParser.cpp
278 gezelter 1710 src/io/FluctuatingChargeAtomTypesSectionParser.cpp
279 gezelter 1639 src/io/ForceFieldOptions.cpp
280     src/io/GayBerneAtomTypesSectionParser.cpp
281     src/io/Globals.cpp
282     src/io/InversionTypesSectionParser.cpp
283     src/io/LennardJonesAtomTypesSectionParser.cpp
284     src/io/MultipoleAtomTypesSectionParser.cpp
285     src/io/NonBondedInteractionsSectionParser.cpp
286     src/io/OptionSectionParser.cpp
287     src/io/ParamConstraint.cpp
288 gezelter 1710 src/io/PolarizableAtomTypesSectionParser.cpp
289 gezelter 1639 src/io/SCAtomTypesSectionParser.cpp
290     src/io/SectionParser.cpp
291     src/io/SectionParserManager.cpp
292     src/io/ShapeAtomTypesSectionParser.cpp
293     src/io/StickyAtomTypesSectionParser.cpp
294     src/io/StickyPowerAtomTypesSectionParser.cpp
295     src/io/TorsionTypesSectionParser.cpp
296     src/io/ZConsReader.cpp
297     src/lattice/CubicLattice.cpp
298     src/lattice/FCCLattice.cpp
299     src/lattice/Lattice.cpp
300     src/lattice/LatticeFactory.cpp
301     src/lattice/shapedLattice.cpp
302     src/math/ChebyshevT.cpp
303     src/math/ChebyshevU.cpp
304     src/math/CubicSpline.cpp
305     src/math/LegendrePolynomial.cpp
306     src/math/RealSphericalHarmonic.cpp
307     src/math/RMSD.cpp
308     src/math/SeqRandNumGen.cpp
309     src/math/SphericalHarmonic.cpp
310     src/math/Wigner3jm.cpp
311     src/mdParser/FilenameObserver.cpp
312 gezelter 1743 src/optimization/OptimizationFactory.cpp
313     src/optimization/Armijo.cpp
314     src/optimization/BFGS.cpp
315     src/optimization/ConjugateGradient.cpp
316     src/optimization/Constraint.cpp
317     src/optimization/EndCriteria.cpp
318     src/optimization/LineSearch.cpp
319     src/optimization/LineSearchBasedMethod.cpp
320     src/optimization/SteepestDescent.cpp
321     src/optimization/PotentialEnergyObjectiveFunction.cpp
322 gezelter 1746 src/optimization/MinimizerParameters.cpp
323 gezelter 1639 src/nonbonded/EAM.cpp
324     src/nonbonded/GB.cpp
325     src/nonbonded/InteractionManager.cpp
326     src/nonbonded/LJ.cpp
327     src/nonbonded/MAW.cpp
328     src/nonbonded/Morse.cpp
329     src/nonbonded/RepulsivePower.cpp
330     src/nonbonded/SC.cpp
331     src/nonbonded/Sticky.cpp
332     src/nonbonded/SwitchingFunction.cpp
333     src/primitives/Atom.cpp
334     src/primitives/Bend.cpp
335     src/primitives/DirectionalAtom.cpp
336     src/primitives/GhostBend.cpp
337     src/primitives/GhostTorsion.cpp
338     src/primitives/Inversion.cpp
339     src/primitives/Molecule.cpp
340     src/primitives/RigidBody.cpp
341     src/primitives/StuntDouble.cpp
342 gezelter 1954 src/primitives/ShortRangeInteraction.cpp
343 gezelter 1639 src/primitives/Torsion.cpp
344     src/primitives/UreyBradleyBend.cpp
345 gezelter 2020 src/perturbations/UniformField.cpp
346 gezelter 2026 src/perturbations/UniformGradient.cpp
347 gezelter 1639 src/restraints/MolecularRestraint.cpp
348     src/restraints/ObjectRestraint.cpp
349     src/selection/HullFinder.cpp
350     src/selection/IndexFinder.cpp
351     src/selection/NameFinder.cpp
352     src/selection/SelectionCompiler.cpp
353     src/selection/SelectionEvaluator.cpp
354     src/selection/SelectionManager.cpp
355     src/selection/SelectionToken.cpp
356     src/selection/TokenMap.cpp
357 gezelter 1954 src/selection/SelectionSet.cpp
358 gezelter 1639 src/types/AtomStamp.cpp
359     src/types/AtomType.cpp
360     src/types/BendStamp.cpp
361 gezelter 2045 src/types/BendTypeParser.cpp
362 gezelter 1639 src/types/BondStamp.cpp
363 gezelter 2045 src/types/BondTypeParser.cpp
364 gezelter 1639 src/types/CharmmTorsionType.cpp
365     src/types/Component.cpp
366 gezelter 1979 src/types/ConstraintStamp.cpp
367 gezelter 1639 src/types/CutoffGroupStamp.cpp
368 gezelter 1710 src/types/DirectionalAdapter.cpp
369     src/types/EAMAdapter.cpp
370     src/types/FixedChargeAdapter.cpp
371     src/types/FluctuatingChargeAdapter.cpp
372 gezelter 1639 src/types/FragmentStamp.cpp
373 gezelter 1710 src/types/GayBerneAdapter.cpp
374 gezelter 1639 src/types/ImproperCosineInversionType.cpp
375     src/types/InversionStamp.cpp
376 gezelter 2045 src/types/InversionTypeParser.cpp
377 gezelter 1710 src/types/LennardJonesAdapter.cpp
378 gezelter 1639 src/types/MoleculeStamp.cpp
379 gezelter 1710 src/types/MultipoleAdapter.cpp
380 gezelter 1639 src/types/NonBondedInteractionType.cpp
381 gezelter 1710 src/types/PolarizableAdapter.cpp
382 gezelter 1639 src/types/RestraintStamp.cpp
383     src/types/RigidBodyStamp.cpp
384     src/types/ShapeAtomType.cpp
385 gezelter 1710 src/types/StickyAdapter.cpp
386     src/types/SuttonChenAdapter.cpp
387 gezelter 1639 src/types/TorsionStamp.cpp
388 gezelter 2045 src/types/TorsionTypeParser.cpp
389 gezelter 1639 src/types/ZconsStamp.cpp
390     src/utils/ElementsTable.cpp
391     src/utils/MoLocator.cpp
392     src/utils/PropertyMap.cpp
393     src/utils/StringTokenizer.cpp
394     src/utils/StringUtils.cpp
395     src/utils/Trim.cpp
396     src/utils/Utility.cpp
397     src/utils/wildcards.cpp
398     src/visitors/AtomNameVisitor.cpp
399     src/visitors/AtomVisitor.cpp
400     src/visitors/CompositeVisitor.cpp
401     src/visitors/LipidTransVisitor.cpp
402     src/visitors/OtherVisitor.cpp
403     src/visitors/ReplacementVisitor.cpp
404     src/visitors/RigidBodyVisitor.cpp
405     src/visitors/ZconsVisitor.cpp
406 gezelter 1731 src/rnemd/RNEMDParameters.cpp
407 gezelter 1879 src/clusters/Icosahedron.cpp
408     src/clusters/Decahedron.cpp
409 gezelter 1639 )
410 chuckv 1466
411 gezelter 1639 set( PARALLEL_SOURCE
412 gezelter 1969 src/antlr/CharBuffer.cpp
413     src/antlr/CharScanner.cpp
414     src/antlr/InputBuffer.cpp
415     src/antlr/TokenBuffer.cpp
416     src/mdParser/MDLexer.cpp
417     src/mdParser/MDParser.cpp
418     src/mdParser/MDTreeParser.cpp
419 gezelter 1639 src/brains/ForceManager.cpp
420     src/brains/SimCreator.cpp
421     src/brains/SimInfo.cpp
422     src/brains/Thermo.cpp
423     src/constraints/ZconstraintForceManager.cpp
424 gezelter 1743 src/flucq/FluctuatingChargeConstraints.cpp
425     src/flucq/FluctuatingChargeObjectiveFunction.cpp
426 gezelter 1972 src/flucq/FluctuatingChargeForces.cpp
427 gezelter 1730 src/integrators/LangevinHullForceManager.cpp
428 gezelter 1731 src/rnemd/RNEMD.cpp
429 gezelter 1639 src/integrators/Velocitizer.cpp
430 gezelter 1981 src/io/ConstraintWriter.cpp
431 gezelter 1639 src/io/DumpReader.cpp
432     src/io/DumpWriter.cpp
433     src/io/RestReader.cpp
434     src/io/RestWriter.cpp
435     src/io/StatWriter.cpp
436     src/io/ZConsWriter.cpp
437     src/io/ifstrstream.cpp
438     src/math/ParallelRandNumGen.cpp
439 gezelter 1926 src/nonbonded/Electrostatic.cpp
440 gezelter 1639 src/parallel/ForceDecomposition.cpp
441     src/parallel/ForceMatrixDecomposition.cpp
442     src/restraints/RestraintForceManager.cpp
443     src/restraints/ThermoIntegrationForceManager.cpp
444 gezelter 1802 src/selection/DistanceFinder.cpp
445 gezelter 1639 src/utils/ProgressBar.cpp
446 gezelter 1668 src/utils/simError.cpp
447 gezelter 1802 src/utils/OpenMDBitSet.cpp
448 gezelter 1743 src/optimization/Problem.cpp
449 gezelter 1639 )
450    
451 gezelter 1767 IF(ZLIB_FOUND)
452     set(ZLIB_SOURCE
453     src/io/gzstream.cpp
454     )
455     ENDIF(ZLIB_FOUND)
456    
457 gezelter 1639 IF(QHULL_FOUND)
458     set(QHULL_SOURCE
459     src/integrators/LangevinHullDynamics.cpp
460     src/math/Triangle.cpp
461     )
462     set(QHULL_PARALLEL_SOURCE
463     src/integrators/LangevinHullForceManager.cpp
464     src/math/ConvexHull.cpp
465     src/math/AlphaHull.cpp
466     )
467     ENDIF(QHULL_FOUND)
468    
469 gezelter 1767 IF(WIN32)
470     set(GETOPT_SOURCE
471 gezelter 1795 src/utils/wingetopt.cpp
472 gezelter 1767 )
473     ENDIF(WIN32)
474    
475     add_library(openmd_core STATIC ${SOURCE} ${QHULL_SOURCE} ${ZLIB_SOURCE} )
476 gezelter 1639 add_library(openmd_single STATIC ${PARALLEL_SOURCE} ${QHULL_PARALLEL_SOURCE} )
477    
478     IF(MPI_FOUND)
479     add_library(openmd_parallel STATIC ${PARALLEL_SOURCE} ${QHULL_PARALLEL_SOURCE} )
480     set_target_properties(openmd_parallel PROPERTIES
481     COMPILE_DEFINITIONS IS_MPI
482     )
483     ENDIF(MPI_FOUND)
484    
485     add_executable(openmd src/applications/openmd/openmd.cpp)
486     target_link_libraries(openmd openmd_single openmd_core openmd_single openmd_core)
487    
488     if (MPI_FOUND)
489     add_executable(openmd_MPI src/applications/openmd/openmd.cpp)
490     set_target_properties(openmd_MPI PROPERTIES
491     COMPILE_DEFINITIONS IS_MPI
492     )
493     target_link_libraries(openmd_MPI openmd_parallel openmd_core openmd_parallel openmd_core)
494 gezelter 1647 INSTALL(TARGETS
495     openmd_parallel openmd_MPI
496     RUNTIME DESTINATION bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
497     LIBRARY DESTINATION lib PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
498     ARCHIVE DESTINATION lib PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
499     )
500 gezelter 1639 ENDIF (MPI_FOUND)
501    
502     set (DUMP2XYZSOURCE
503     src/applications/dump2Xyz/Dump2XYZ.cpp
504 gezelter 1655 src/applications/dump2Xyz/Dump2XYZCmd.cpp
505 gezelter 1639 )
506    
507     set (DYNAMICPROPSSOURCE
508     src/applications/dynamicProps/ActionCorrFunc.cpp
509     src/applications/dynamicProps/CrossTimeCorrFunc.cpp
510     src/applications/dynamicProps/DipoleCorrFunc.cpp
511     src/applications/dynamicProps/DirectionalRCorrFunc.cpp
512     src/applications/dynamicProps/DynamicProps.cpp
513     src/applications/dynamicProps/EnergyCorrFunc.cpp
514     src/applications/dynamicProps/FrameTimeCorrFunc.cpp
515 gezelter 2003 src/applications/dynamicProps/FreqFlucCorrFunc.cpp
516 gezelter 1639 src/applications/dynamicProps/LegendreCorrFunc.cpp
517 gezelter 1915 src/applications/dynamicProps/LegendreCorrFuncZ.cpp
518 gezelter 1934 src/applications/dynamicProps/cOHz.cpp
519 gezelter 1639 src/applications/dynamicProps/MomentumCorrFunc.cpp
520 gezelter 2056 src/applications/dynamicProps/MultipassCorrFunc.cpp
521 gezelter 1639 src/applications/dynamicProps/ParticleTimeCorrFunc.cpp
522 gezelter 1954 src/applications/dynamicProps/InteractionTimeCorrFunc.cpp
523 gezelter 1639 src/applications/dynamicProps/RadialRCorrFunc.cpp
524     src/applications/dynamicProps/RCorrFunc.cpp
525 gezelter 1811 src/applications/dynamicProps/SelectionCorrFunc.cpp
526 gezelter 1639 src/applications/dynamicProps/StressCorrFunc.cpp
527     src/applications/dynamicProps/SystemDipoleCorrFunc.cpp
528     src/applications/dynamicProps/ThetaCorrFunc.cpp
529     src/applications/dynamicProps/TimeCorrFunc.cpp
530     src/applications/dynamicProps/VCorrFunc.cpp
531 gezelter 1954 src/applications/dynamicProps/BondCorrFunc.cpp
532 gezelter 1655 src/applications/dynamicProps/DynamicPropsCmd.cpp
533 gezelter 1639 )
534    
535     set (HYDROSOURCE
536     src/applications/hydrodynamics/AnalyticalModel.cpp
537     src/applications/hydrodynamics/ApproximationModel.cpp
538     src/applications/hydrodynamics/BeadModel.cpp
539     src/applications/hydrodynamics/CompositeShape.cpp
540     src/applications/hydrodynamics/Hydro.cpp
541     src/applications/hydrodynamics/HydrodynamicsModel.cpp
542     src/applications/hydrodynamics/HydrodynamicsModelFactory.cpp
543     src/applications/hydrodynamics/RoughShell.cpp
544     src/applications/hydrodynamics/ShapeBuilder.cpp
545 gezelter 1655 src/applications/hydrodynamics/HydroCmd.cpp
546 gezelter 1639 )
547    
548 gezelter 2024 set (SEQUENTIALPROPSSOURCE
549 gezelter 2029 src/applications/sequentialProps/CenterOfMass.cpp
550     src/applications/sequentialProps/ContactAngle1.cpp
551 gezelter 2035 src/applications/sequentialProps/ContactAngle2.cpp
552 gezelter 2024 src/applications/sequentialProps/SequentialAnalyzer.cpp
553     src/applications/sequentialProps/SequentialProps.cpp
554     src/applications/sequentialProps/SequentialPropsCmd.cpp
555     )
556    
557 gezelter 1639 set (STATICPROPSSOURCE
558     src/applications/staticProps/AngleR.cpp
559     src/applications/staticProps/BondAngleDistribution.cpp
560     src/applications/staticProps/BondOrderParameter.cpp
561     src/applications/staticProps/BOPofR.cpp
562     src/applications/staticProps/DensityPlot.cpp
563     src/applications/staticProps/GofAngle2.cpp
564     src/applications/staticProps/GofR.cpp
565     src/applications/staticProps/GofRAngle.cpp
566     src/applications/staticProps/GofRZ.cpp
567     src/applications/staticProps/GofXyz.cpp
568     src/applications/staticProps/GofZ.cpp
569     src/applications/staticProps/Hxy.cpp
570 gezelter 2049 src/applications/staticProps/HBondGeometric.cpp
571 gezelter 1998 src/applications/staticProps/MultipoleSum.cpp
572 gezelter 1639 src/applications/staticProps/NanoLength.cpp
573     src/applications/staticProps/NanoVolume.cpp
574 gezelter 1994 src/applications/staticProps/NitrileFrequencyMap.cpp
575 gezelter 1639 src/applications/staticProps/ObjectCount.cpp
576     src/applications/staticProps/P2OrderParameter.cpp
577     src/applications/staticProps/pAngle.cpp
578     src/applications/staticProps/RadialDistrFunc.cpp
579     src/applications/staticProps/RhoR.cpp
580     src/applications/staticProps/RhoZ.cpp
581     src/applications/staticProps/RippleOP.cpp
582 gezelter 1879 src/applications/staticProps/RNEMDStats.cpp
583 gezelter 1639 src/applications/staticProps/SCDOrderParameter.cpp
584 gezelter 1879 src/applications/staticProps/SpatialStatistics.cpp
585 gezelter 1639 src/applications/staticProps/StaticProps.cpp
586 jmichalk 2031 src/applications/staticProps/SurfaceDiffusion.cpp
587 gezelter 1639 src/applications/staticProps/TetrahedralityParam.cpp
588 gezelter 1763 src/applications/staticProps/TetrahedralityParamZ.cpp
589 gezelter 2015 src/applications/staticProps/TetrahedralityParamXYZ.cpp
590 gezelter 1639 src/applications/staticProps/TwoDGofR.cpp
591 gezelter 1655 src/applications/staticProps/StaticPropsCmd.cpp
592 gezelter 1639 )
593    
594     set (NANOPARTICLEBUILDERSOURCE
595     src/applications/nanoparticleBuilder/nanoparticleBuilder.cpp
596     src/applications/nanoparticleBuilder/shapedLatticeSpherical.cpp
597 gezelter 1655 src/applications/nanoparticleBuilder/nanoparticleBuilderCmd.cpp
598 gezelter 1639 )
599    
600 kstocke1 1701 set (NANORODBUILDERSOURCE
601     src/applications/nanoparticleBuilder/nanorodBuilder.cpp
602     src/applications/nanoparticleBuilder/shapedLatticeRod.cpp
603 gezelter 1879 src/applications/nanoparticleBuilder/shapedLatticeEllipsoid.cpp
604 kstocke1 1701 src/applications/nanoparticleBuilder/nanorodBuilderCmd.cpp
605     )
606    
607     set (NANOROD_PENTBUILDERSOURCE
608     src/applications/nanoparticleBuilder/nanorod_pentBuilder.cpp
609     src/applications/nanoparticleBuilder/nanorod_pentBuilderCmd.cpp
610     src/applications/nanoparticleBuilder/shapedLatticePentRod.cpp
611     )
612    
613 gezelter 1879 set (ICOSAHEDRALBUILDERSOURCE
614     src/applications/nanoparticleBuilder/icosahedralBuilder.cpp
615     src/applications/nanoparticleBuilder/icosahedralBuilderCmd.cpp
616     )
617    
618 gezelter 1639 set (RANDOMBUILDERSOURCE
619     src/applications/randomBuilder/randomBuilder.cpp
620 gezelter 1655 src/applications/randomBuilder/randomBuilderCmd.cpp
621 gezelter 1639 )
622    
623     set(SIMPLEBUILDERSOURCE
624     src/applications/simpleBuilder/simpleBuilder.cpp
625 gezelter 1655 src/applications/simpleBuilder/simpleBuilderCmd.cpp
626 gezelter 1639 )
627    
628     set(THERMALIZERSOURCE
629     src/applications/thermalizer/thermalizer.cpp
630 gezelter 1655 src/applications/thermalizer/thermalizerCmd.cpp
631 gezelter 1639 )
632    
633 gezelter 1879 set(RECENTERSOURCE
634     src/applications/recenter/recenter.cpp
635     src/applications/recenter/recenterCmd.cpp
636     )
637    
638 gezelter 1767 add_executable(Dump2XYZ ${DUMP2XYZSOURCE} ${GETOPT_SOURCE})
639 gezelter 1639 target_link_libraries(Dump2XYZ openmd_single openmd_core openmd_single openmd_core)
640 gezelter 1767 add_executable(DynamicProps ${DYNAMICPROPSSOURCE} ${GETOPT_SOURCE})
641 gezelter 1639 target_link_libraries(DynamicProps openmd_single openmd_core openmd_single openmd_core)
642 gezelter 1767 add_executable(Hydro ${HYDROSOURCE} ${GETOPT_SOURCE})
643 gezelter 1639 target_link_libraries(Hydro openmd_single openmd_core openmd_single openmd_core)
644 gezelter 1767 add_executable(StaticProps ${STATICPROPSSOURCE} ${GETOPT_SOURCE})
645 gezelter 1639 target_link_libraries(StaticProps openmd_single openmd_core openmd_single openmd_core)
646 gezelter 2024 add_executable(SequentialProps ${SEQUENTIALPROPSSOURCE} ${GETOPT_SOURCE})
647     target_link_libraries(SequentialProps openmd_single openmd_core openmd_single openmd_core)
648 gezelter 1767 add_executable(nanoparticleBuilder ${NANOPARTICLEBUILDERSOURCE} ${GETOPT_SOURCE})
649 gezelter 1807 target_link_libraries(nanoparticleBuilder openmd_single openmd_core openmd_single openmd_core openmd_single)
650 gezelter 1767 add_executable(nanorodBuilder ${NANORODBUILDERSOURCE} ${GETOPT_SOURCE})
651 gezelter 1807 target_link_libraries(nanorodBuilder openmd_single openmd_core openmd_single openmd_core openmd_single)
652 gezelter 1767 add_executable(nanorod_pentBuilder ${NANOROD_PENTBUILDERSOURCE} ${GETOPT_SOURCE})
653 gezelter 1807 target_link_libraries(nanorod_pentBuilder openmd_single openmd_core openmd_single openmd_core openmd_single)
654 gezelter 1879 add_executable(icosahedralBuilder ${ICOSAHEDRALBUILDERSOURCE} ${GETOPT_SOURCE})
655     target_link_libraries(icosahedralBuilder openmd_single openmd_core openmd_single openmd_core openmd_single)
656 gezelter 1767 add_executable(randomBuilder ${RANDOMBUILDERSOURCE} ${GETOPT_SOURCE})
657 gezelter 1807 target_link_libraries(randomBuilder openmd_single openmd_core openmd_single openmd_core openmd_single)
658 gezelter 1767 add_executable(simpleBuilder ${SIMPLEBUILDERSOURCE} ${GETOPT_SOURCE})
659 gezelter 1807 target_link_libraries(simpleBuilder openmd_single openmd_core openmd_single openmd_core openmd_single)
660 gezelter 1767 add_executable(thermalizer ${THERMALIZERSOURCE} ${GETOPT_SOURCE})
661 gezelter 1807 target_link_libraries(thermalizer openmd_single openmd_core openmd_single openmd_core openmd_single)
662 gezelter 1879 add_executable(recenter ${RECENTERSOURCE} ${GETOPT_SOURCE})
663     target_link_libraries(recenter openmd_single openmd_core openmd_single openmd_core openmd_single)
664 gezelter 1639
665     if (OPENBABEL2_FOUND)
666     set (ATOM2MDSOURCE
667     src/applications/atom2md/atom2md.cpp
668     src/applications/atom2md/openmdformat.cpp
669     )
670 gezelter 1767 add_executable(atom2md ${ATOM2MDSOURCE} ${GETOPT_SOURCE})
671 gezelter 1699 target_link_libraries(atom2md openmd_single openmd_core openmd_single openmd_core ${OPENBABEL2_LIBRARIES})
672 gezelter 1647 INSTALL(TARGETS atom2md RUNTIME DESTINATION bin
673     PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
674 gezelter 1639 ENDIF (OPENBABEL2_FOUND)
675    
676    
677 gezelter 2042 set(PYNONUMPY_FILES
678 gezelter 1639 src/applications/hydrodynamics/diffExplainer
679     src/applications/utilities/affineScale
680     src/applications/utilities/dumpConverter
681     src/applications/utilities/md-solvator
682     src/applications/utilities/md2md
683     src/applications/utilities/mdSplit
684 gezelter 2012 src/applications/utilities/mdShrink
685 gezelter 1795 src/applications/utilities/stat2thcond
686 gezelter 1639 src/applications/utilities/stat2visco
687 gezelter 2006 src/applications/utilities/stat2dielectric
688 gezelter 1639 src/applications/utilities/waterRotator
689 gezelter 2042 )
690    
691     set(PYNUMPY_FILES
692     src/applications/utilities/pack2md
693     src/applications/utilities/principalAxisCalculator
694     src/applications/utilities/vcorr2spectrum
695 gezelter 1668 src/applications/utilities/waterReplacer
696 gezelter 1639 )
697    
698 gezelter 2042 IF(NUMPY_FOUND)
699     set(PY_FILES ${PYNONUMPY_FILES} ${PYNUMPY_FILES})
700     ELSE(NUMPY_FOUND)
701     set(PY_FILES ${PYNONUMPY_FILES})
702     ENDIF(NUMPY_FOUND)
703    
704 gezelter 1639 IF(PYTHON_EXECUTABLE)
705 gezelter 1795 IF(WIN32)
706     SET(PYEXT ".py")
707     ELSE(WIN32)
708     SET(PYEXT "")
709     ENDIF(WIN32)
710    
711     foreach(PY_FILE ${PY_FILES})
712     GET_FILENAME_COMPONENT(filename "${PY_FILE}" NAME)
713     CONFIGURE_FILE(${PY_FILE}
714     "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${filename}${PYEXT}" @ONLY)
715     INSTALL(FILES "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${filename}${PYEXT}"
716     DESTINATION bin
717     PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
718     endforeach(PY_FILE)
719 gezelter 1639 ENDIF(PYTHON_EXECUTABLE)
720    
721     set(PERL_FILES
722     src/applications/utilities/solvator
723     src/applications/utilities/waterBoxer
724     )
725    
726     IF(PERL_FOUND)
727 gezelter 1795 IF(WIN32)
728     SET(PLEXT ".PL")
729     ELSE(WIN32)
730     SET(PLEXT "")
731     ENDIF(WIN32)
732 gezelter 1647
733 gezelter 1795 foreach(PERL_FILE ${PERL_FILES})
734     GET_FILENAME_COMPONENT(filename "${PERL_FILE}" NAME)
735     configure_file(${PERL_FILE} "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${filename}${PLEXT}" @ONLY)
736     INSTALL(FILES "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${filename}${PLEXT}"
737     DESTINATION bin
738     PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
739    
740     endforeach(PERL_FILE)
741 gezelter 1639 ENDIF(PERL_FOUND)
742 gezelter 1647
743 gezelter 1806
744 gezelter 2079 INSTALL(FILES AUTHORS LICENSE README INSTALL DESTINATION . PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
745 gezelter 1647 INSTALL(TARGETS
746     openmd_core
747     openmd_single
748     openmd
749     Dump2XYZ
750     simpleBuilder
751     StaticProps
752     DynamicProps
753 gezelter 2024 SequentialProps
754 gezelter 1647 randomBuilder
755     nanoparticleBuilder
756 gezelter 1806 nanorodBuilder
757     nanorod_pentBuilder
758 gezelter 1950 icosahedralBuilder
759 gezelter 1647 thermalizer
760 gezelter 1879 recenter
761 gezelter 1647 Hydro
762     RUNTIME DESTINATION bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
763 gezelter 2079 LIBRARY DESTINATION lib PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
764     ARCHIVE DESTINATION lib PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
765 gezelter 1647 )
766    
767     install(DIRECTORY forceFields/
768     DESTINATION forceFields
769 gezelter 1650 DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
770     PATTERN ".svn" EXCLUDE
771 gezelter 1647 PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
772     install(DIRECTORY samples/
773     DESTINATION samples
774 gezelter 1650 DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
775     PATTERN ".svn" EXCLUDE
776 gezelter 1651 PATTERN "*.dump" EXCLUDE
777     PATTERN "*.stat" EXCLUDE
778 gezelter 1795 PATTERN "*.eor" EXCLUDE
779     PATTERN "*.rnemd" EXCLUDE
780 gezelter 1806 PATTERN "*.fz" EXCLUDE
781 gezelter 1647 PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
782 gezelter 1806
783     configure_file( samples/builders/runMe.in
784     "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/runMe" @ONLY)
785     INSTALL(FILES "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/runMe"
786     DESTINATION samples/builders
787     PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
788    
789    
790 gezelter 1651 INSTALL(FILES "${CMAKE_CURRENT_SOURCE_DIR}/doc/OpenMDmanual.pdf"
791     DESTINATION doc
792     PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
793 gezelter 1694
794     message( STATUS)
795     message( STATUS "========== OpenMD Build Information ==========")
796     message( STATUS "Current revision ........... = ${SVN_REV}")
797     message( STATUS "CMAKE_SYSTEM ............... = ${CMAKE_SYSTEM}")
798     message( STATUS "==============================================")
799     message( STATUS "CMAKE_BUILD_TYPE ........... = ${CMAKE_BUILD_TYPE}")
800     message( STATUS "CMAKE_INSTALL_PREFIX ....... = ${CMAKE_INSTALL_PREFIX}")
801 gezelter 1695 message( STATUS "Build as SINGLE_PRECISION .. = ${SINGLE_PRECISION}")
802 gezelter 1694 message( STATUS "CMAKE_CXX_COMPILER ......... = ${CMAKE_CXX_COMPILER}")
803     message( STATUS "MPI_CXX_COMPILER ........... = ${MPI_CXX_COMPILER}")
804     message( STATUS "MPI_CXX_INCLUDE_PATH ....... = ${MPI_CXX_INCLUDE_PATH}")
805     message( STATUS "MPI_CXX_LIBRARIES .......... = ${MPI_CXX_LIBRARIES}")
806 gezelter 1699 message( STATUS "OPENBABEL2_ROOT ............ = ${OPENBABEL2_ROOT}")
807 gezelter 1694 message( STATUS "OPENBABEL2_INCLUDE_DIR ..... = ${OPENBABEL2_INCLUDE_DIR}")
808     message( STATUS "OPENBABEL2_LIBRARIES ....... = ${OPENBABEL2_LIBRARIES}")
809 gezelter 1695 message( STATUS "QHULL_ROOT ................. = ${QHULL_ROOT}")
810 gezelter 1694 message( STATUS "QHULL_INCLUDE_DIR .......... = ${QHULL_INCLUDE_DIR}")
811     message( STATUS "QHULL_LIBRARIES ............ = ${QHULL_LIBRARIES}")
812 gezelter 1695 message( STATUS "ZLIB_ROOT .................. = ${ZLIB_ROOT}")
813 gezelter 1694 message( STATUS "ZLIB_INCLUDE_DIR ........... = ${ZLIB_INCLUDE_DIR}")
814     message( STATUS "ZLIB_LIBRARIES ............. = ${ZLIB_LIBRARIES}")
815 gezelter 1699 message( STATUS "FFTW3_ROOT ................. = ${FFTW3_ROOT}")
816 gezelter 1694 message( STATUS "FFTW3_INCLUDE_DIR .......... = ${FFTW3_INCLUDE_DIR}")
817     message( STATUS "FFTW3_LIBRARIES ............ = ${FFTW3_LIBRARIES}")
818 gezelter 1695 message( STATUS "PERL_EXECUTABLE ............ = ${PERL_EXECUTABLE}")
819     message( STATUS "PYTHON_EXECUTABLE .......... = ${PYTHON_EXECUTABLE}")
820 gezelter 1694 message( STATUS "DOXYGEN_EXECUTABLE ......... = ${DOXYGEN_EXECUTABLE}")
821 gezelter 1695 message( STATUS )
822 gezelter 1696 message( STATUS "To override these options, add -D{OPTION_NAME}=... to the cmake command" )
823     message( STATUS "Particularly useful defines are for:")
824     message( STATUS )
825 gezelter 1699 message( STATUS " -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} (where OpenMD will be installed)")
826     message( STATUS " -DOPENBABEL2_ROOT=/path/to/openbabel")
827     message( STATUS " -DQHULL_ROOT=/path/to/qhull")
828     message( STATUS " -DFFTW3_ROOT=/path/to/fftw3")
829 gezelter 1696 message( STATUS )
830 gezelter 1790 IF(WIN32)
831     message( STATUS "To build and install OpenMD, enter: ")
832     message( STATUS " msbuild /m ALL_BUILD.vcxproj /p:Configuration=${CMAKE_BUILD_TYPE}")
833     message( STATUS "followed by:")
834     message( STATUS " msbuild /m INSTALL.vcxproj /p:Configuration=${CMAKE_BUILD_TYPE}")
835     ELSE(WIN32)
836     message( STATUS "To build and install OpenMD, enter \"make\" and \"make install\"")
837     ENDIF(WIN32)
838 gezelter 1696 message( STATUS )
839 gezelter 1795
840     # build a CPack driven installer package
841     IF(NOT DEFINED CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
842     SET(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS ON)
843     ENDIF()
844     include (InstallRequiredSystemLibraries)
845     set (CPACK_RESOURCE_FILE_LICENSE
846     "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
847     set (CPACK_PACKAGE_VERSION_MAJOR "${VERSION_MAJOR}")
848     set (CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}")
849     include (CPack)