1 |
# Top level cmake script for OpenMD. |
2 |
project(OpenMD CXX) |
3 |
cmake_minimum_required(VERSION 2.8.5) |
4 |
|
5 |
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 |
IF(WIN32) |
12 |
ADD_DEFINITIONS(/D _CRT_SECURE_NO_WARNINGS) |
13 |
ENDIF(WIN32) |
14 |
|
15 |
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 |
endif() |
33 |
|
34 |
include(CheckCXXCompilerFlag) |
35 |
include(CheckIncludeFileCXX) |
36 |
include(CheckCXXSymbolExists) |
37 |
|
38 |
if ( CMAKE_COMPILER_IS_GNUCXX ) |
39 |
add_definitions("-Wall") |
40 |
endif ( CMAKE_COMPILER_IS_GNUCXX ) |
41 |
if ( MSVC ) |
42 |
add_definitions("/W3") |
43 |
endif ( MSVC ) |
44 |
|
45 |
# OpenMD version number. |
46 |
set (VERSION_MAJOR "2") |
47 |
set (VERSION_MINOR "3") |
48 |
set (VERSION_TINY "0") |
49 |
option(SINGLE_PRECISION "Build Single precision (float) version" OFF) |
50 |
|
51 |
IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) |
52 |
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 |
ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) |
60 |
ADD_DEFINITIONS( -DFRC_PATH=${CMAKE_INSTALL_PREFIX}/forceFields ) |
61 |
|
62 |
# ---------- 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 |
FIND_PACKAGE(Subversion) |
82 |
IF ( Subversion_FOUND AND EXISTS ${PROJECT_SOURCE_DIR}/.svn ) |
83 |
Subversion_WC_INFO(${PROJECT_SOURCE_DIR} Project) |
84 |
MESSAGE(STATUS "Current revision is ${Project_WC_REVISION}") |
85 |
Subversion_WC_LOG(${PROJECT_SOURCE_DIR} Project) |
86 |
SET(SVN_REV ${Project_WC_REVISION}) |
87 |
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 |
ELSE() |
93 |
SET(SVN_REV Release) |
94 |
ENDIF() |
95 |
|
96 |
check_include_file_cxx(conio.h HAVE_CONIO_H) |
97 |
check_cxx_symbol_exists(strncasecmp "string.h" HAVE_STRNCASECMP) |
98 |
|
99 |
# Optional libraries: If we can find these, we will build with them |
100 |
# Look for OpenBabel libraries |
101 |
find_package(OpenBabel2) |
102 |
IF(OPENBABEL2_FOUND) |
103 |
SET(USE_OPENBABEL) |
104 |
include_directories(${OPENBABEL2_INCLUDE_DIR}) |
105 |
# link libraries are added only for targets that need them. |
106 |
ELSE(OPENBABEL2_FOUND) |
107 |
MESSAGE(STATUS "No OpenBabel found - will not build atom2md") |
108 |
ENDIF(OPENBABEL2_FOUND) |
109 |
|
110 |
#Look for QHULL Libraries |
111 |
find_package(Qhull) |
112 |
IF(QHULL_FOUND) |
113 |
SET(HAVE_QHULL 1) |
114 |
include_directories(${QHULL_INCLUDE_DIR}) |
115 |
LINK_LIBRARIES(${QHULL_LIBRARIES}) |
116 |
ELSE(QHULL_FOUND) |
117 |
MESSAGE(STATUS "No Qhull found - will be missing some features") |
118 |
ENDIF(QHULL_FOUND) |
119 |
|
120 |
# 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 |
ELSE(ZLIB_FOUND) |
128 |
MESSAGE(STATUS "No zlib found - will be missing compressed dump files") |
129 |
endif(ZLIB_FOUND) |
130 |
|
131 |
#FFTW3 |
132 |
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 |
SET(HAVE_LIBFFTW 1) |
140 |
SET(HAVE_FFTW3_H 1) |
141 |
INCLUDE_DIRECTORIES(${FFTW3_INCLUDE_DIR}) |
142 |
LINK_LIBRARIES(${FFTW3_LIBRARIES}) |
143 |
ELSE(FFTW3_FOUND) |
144 |
MESSAGE(STATUS "No fftw3 found - will be missing some analysis modules") |
145 |
endif (FFTW3_FOUND) |
146 |
|
147 |
|
148 |
# 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 |
|
159 |
FIND_PACKAGE(Perl) |
160 |
IF(PERL_FOUND) |
161 |
SET(PERL ${PERL_EXECUTABLE}) |
162 |
ELSE(PERL_FOUND) |
163 |
MESSAGE(STATUS "Failed to find perl - some scripts will not be made") |
164 |
ENDIF(PERL_FOUND) |
165 |
|
166 |
SET(PERL_INSTALLDIRS "site" CACHE STRING "Perl installation |
167 |
locations") |
168 |
|
169 |
FIND_PACKAGE(PythonInterp) |
170 |
IF(PYTHON_EXECUTABLE) |
171 |
SET(PYTHON ${PYTHON_EXECUTABLE}) |
172 |
ELSE(PYTHON_EXECUTABLE) |
173 |
MESSAGE(STATUS "Failed to find python - some scripts will not be made") |
174 |
ENDIF(PYTHON_EXECUTABLE) |
175 |
|
176 |
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 |
configure_file ( |
183 |
"${PROJECT_SOURCE_DIR}/src/config.h.cmake" |
184 |
"${PROJECT_BINARY_DIR}/config.h" |
185 |
) |
186 |
configure_file( |
187 |
"${PROJECT_SOURCE_DIR}/src/utils/Revision.cpp.in" |
188 |
"${PROJECT_BINARY_DIR}/Revision.cpp" |
189 |
) |
190 |
|
191 |
include_directories("${PROJECT_BINARY_DIR}" "${PROJECT_SOURCE_DIR}/src") |
192 |
|
193 |
#Add executables for build |
194 |
set (PROGRAMS |
195 |
openmd |
196 |
openmd_MPI |
197 |
Dump2XYZ |
198 |
simpleBuilder |
199 |
StaticProps |
200 |
DynamicProps |
201 |
SequentialProps |
202 |
randomBuilder |
203 |
nanoparticleBuilder |
204 |
thermalizer |
205 |
recenter |
206 |
atom2md |
207 |
Hydro) |
208 |
|
209 |
set(SOURCE |
210 |
"${PROJECT_BINARY_DIR}/Revision.cpp" |
211 |
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 |
src/brains/ForceField.cpp |
239 |
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 |
src/constraints/Shake.cpp |
246 |
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 |
src/flucq/FluctuatingChargeLangevin.cpp |
252 |
src/flucq/FluctuatingChargeParameters.cpp |
253 |
src/flucq/FluctuatingChargeNVT.cpp |
254 |
src/flucq/FluctuatingChargePropagator.cpp |
255 |
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 |
src/integrators/NPA.cpp |
261 |
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 |
src/io/FluctuatingChargeAtomTypesSectionParser.cpp |
279 |
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 |
src/io/PolarizableAtomTypesSectionParser.cpp |
289 |
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 |
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 |
src/optimization/MinimizerParameters.cpp |
323 |
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 |
src/primitives/ShortRangeInteraction.cpp |
343 |
src/primitives/Torsion.cpp |
344 |
src/primitives/UreyBradleyBend.cpp |
345 |
src/perturbations/UniformField.cpp |
346 |
src/perturbations/UniformGradient.cpp |
347 |
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 |
src/selection/SelectionSet.cpp |
358 |
src/types/AtomStamp.cpp |
359 |
src/types/AtomType.cpp |
360 |
src/types/BendStamp.cpp |
361 |
src/types/BendTypeParser.cpp |
362 |
src/types/BondStamp.cpp |
363 |
src/types/BondTypeParser.cpp |
364 |
src/types/CharmmTorsionType.cpp |
365 |
src/types/Component.cpp |
366 |
src/types/ConstraintStamp.cpp |
367 |
src/types/CutoffGroupStamp.cpp |
368 |
src/types/DirectionalAdapter.cpp |
369 |
src/types/EAMAdapter.cpp |
370 |
src/types/FixedChargeAdapter.cpp |
371 |
src/types/FluctuatingChargeAdapter.cpp |
372 |
src/types/FragmentStamp.cpp |
373 |
src/types/GayBerneAdapter.cpp |
374 |
src/types/ImproperCosineInversionType.cpp |
375 |
src/types/InversionStamp.cpp |
376 |
src/types/InversionTypeParser.cpp |
377 |
src/types/LennardJonesAdapter.cpp |
378 |
src/types/MoleculeStamp.cpp |
379 |
src/types/MultipoleAdapter.cpp |
380 |
src/types/NonBondedInteractionType.cpp |
381 |
src/types/PolarizableAdapter.cpp |
382 |
src/types/RestraintStamp.cpp |
383 |
src/types/RigidBodyStamp.cpp |
384 |
src/types/ShapeAtomType.cpp |
385 |
src/types/StickyAdapter.cpp |
386 |
src/types/SuttonChenAdapter.cpp |
387 |
src/types/TorsionStamp.cpp |
388 |
src/types/TorsionTypeParser.cpp |
389 |
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 |
src/rnemd/RNEMDParameters.cpp |
407 |
src/clusters/Icosahedron.cpp |
408 |
src/clusters/Decahedron.cpp |
409 |
) |
410 |
|
411 |
set( PARALLEL_SOURCE |
412 |
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 |
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 |
src/flucq/FluctuatingChargeConstraints.cpp |
425 |
src/flucq/FluctuatingChargeObjectiveFunction.cpp |
426 |
src/flucq/FluctuatingChargeForces.cpp |
427 |
src/integrators/LangevinHullForceManager.cpp |
428 |
src/rnemd/RNEMD.cpp |
429 |
src/integrators/Velocitizer.cpp |
430 |
src/io/ConstraintWriter.cpp |
431 |
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 |
src/nonbonded/Electrostatic.cpp |
440 |
src/parallel/ForceDecomposition.cpp |
441 |
src/parallel/ForceMatrixDecomposition.cpp |
442 |
src/restraints/RestraintForceManager.cpp |
443 |
src/restraints/ThermoIntegrationForceManager.cpp |
444 |
src/selection/DistanceFinder.cpp |
445 |
src/utils/ProgressBar.cpp |
446 |
src/utils/simError.cpp |
447 |
src/utils/OpenMDBitSet.cpp |
448 |
src/optimization/Problem.cpp |
449 |
) |
450 |
|
451 |
IF(ZLIB_FOUND) |
452 |
set(ZLIB_SOURCE |
453 |
src/io/gzstream.cpp |
454 |
) |
455 |
ENDIF(ZLIB_FOUND) |
456 |
|
457 |
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 |
IF(WIN32) |
470 |
set(GETOPT_SOURCE |
471 |
src/utils/wingetopt.cpp |
472 |
) |
473 |
ENDIF(WIN32) |
474 |
|
475 |
add_library(openmd_core STATIC ${SOURCE} ${QHULL_SOURCE} ${ZLIB_SOURCE} ) |
476 |
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 |
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 |
ENDIF (MPI_FOUND) |
501 |
|
502 |
set (DUMP2XYZSOURCE |
503 |
src/applications/dump2Xyz/Dump2XYZ.cpp |
504 |
src/applications/dump2Xyz/Dump2XYZCmd.cpp |
505 |
) |
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 |
src/applications/dynamicProps/FreqFlucCorrFunc.cpp |
516 |
src/applications/dynamicProps/LegendreCorrFunc.cpp |
517 |
src/applications/dynamicProps/LegendreCorrFuncZ.cpp |
518 |
src/applications/dynamicProps/cOHz.cpp |
519 |
src/applications/dynamicProps/MomentumCorrFunc.cpp |
520 |
src/applications/dynamicProps/MultipassCorrFunc.cpp |
521 |
src/applications/dynamicProps/ParticleTimeCorrFunc.cpp |
522 |
src/applications/dynamicProps/InteractionTimeCorrFunc.cpp |
523 |
src/applications/dynamicProps/RadialRCorrFunc.cpp |
524 |
src/applications/dynamicProps/RCorrFunc.cpp |
525 |
src/applications/dynamicProps/SelectionCorrFunc.cpp |
526 |
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 |
src/applications/dynamicProps/BondCorrFunc.cpp |
532 |
src/applications/dynamicProps/DynamicPropsCmd.cpp |
533 |
) |
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 |
src/applications/hydrodynamics/HydroCmd.cpp |
546 |
) |
547 |
|
548 |
set (SEQUENTIALPROPSSOURCE |
549 |
src/applications/sequentialProps/CenterOfMass.cpp |
550 |
src/applications/sequentialProps/ContactAngle1.cpp |
551 |
src/applications/sequentialProps/ContactAngle2.cpp |
552 |
src/applications/sequentialProps/SequentialAnalyzer.cpp |
553 |
src/applications/sequentialProps/SequentialProps.cpp |
554 |
src/applications/sequentialProps/SequentialPropsCmd.cpp |
555 |
) |
556 |
|
557 |
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 |
src/applications/staticProps/HBondGeometric.cpp |
571 |
src/applications/staticProps/MultipoleSum.cpp |
572 |
src/applications/staticProps/NanoLength.cpp |
573 |
src/applications/staticProps/NanoVolume.cpp |
574 |
src/applications/staticProps/NitrileFrequencyMap.cpp |
575 |
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 |
src/applications/staticProps/RNEMDStats.cpp |
583 |
src/applications/staticProps/SCDOrderParameter.cpp |
584 |
src/applications/staticProps/SpatialStatistics.cpp |
585 |
src/applications/staticProps/StaticProps.cpp |
586 |
src/applications/staticProps/SurfaceDiffusion.cpp |
587 |
src/applications/staticProps/TetrahedralityParam.cpp |
588 |
src/applications/staticProps/TetrahedralityParamZ.cpp |
589 |
src/applications/staticProps/TetrahedralityParamXYZ.cpp |
590 |
src/applications/staticProps/TwoDGofR.cpp |
591 |
src/applications/staticProps/StaticPropsCmd.cpp |
592 |
) |
593 |
|
594 |
set (NANOPARTICLEBUILDERSOURCE |
595 |
src/applications/nanoparticleBuilder/nanoparticleBuilder.cpp |
596 |
src/applications/nanoparticleBuilder/shapedLatticeSpherical.cpp |
597 |
src/applications/nanoparticleBuilder/nanoparticleBuilderCmd.cpp |
598 |
) |
599 |
|
600 |
set (NANORODBUILDERSOURCE |
601 |
src/applications/nanoparticleBuilder/nanorodBuilder.cpp |
602 |
src/applications/nanoparticleBuilder/shapedLatticeRod.cpp |
603 |
src/applications/nanoparticleBuilder/shapedLatticeEllipsoid.cpp |
604 |
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 |
set (ICOSAHEDRALBUILDERSOURCE |
614 |
src/applications/nanoparticleBuilder/icosahedralBuilder.cpp |
615 |
src/applications/nanoparticleBuilder/icosahedralBuilderCmd.cpp |
616 |
) |
617 |
|
618 |
set (RANDOMBUILDERSOURCE |
619 |
src/applications/randomBuilder/randomBuilder.cpp |
620 |
src/applications/randomBuilder/randomBuilderCmd.cpp |
621 |
) |
622 |
|
623 |
set(SIMPLEBUILDERSOURCE |
624 |
src/applications/simpleBuilder/simpleBuilder.cpp |
625 |
src/applications/simpleBuilder/simpleBuilderCmd.cpp |
626 |
) |
627 |
|
628 |
set(THERMALIZERSOURCE |
629 |
src/applications/thermalizer/thermalizer.cpp |
630 |
src/applications/thermalizer/thermalizerCmd.cpp |
631 |
) |
632 |
|
633 |
set(RECENTERSOURCE |
634 |
src/applications/recenter/recenter.cpp |
635 |
src/applications/recenter/recenterCmd.cpp |
636 |
) |
637 |
|
638 |
add_executable(Dump2XYZ ${DUMP2XYZSOURCE} ${GETOPT_SOURCE}) |
639 |
target_link_libraries(Dump2XYZ openmd_single openmd_core openmd_single openmd_core) |
640 |
add_executable(DynamicProps ${DYNAMICPROPSSOURCE} ${GETOPT_SOURCE}) |
641 |
target_link_libraries(DynamicProps openmd_single openmd_core openmd_single openmd_core) |
642 |
add_executable(Hydro ${HYDROSOURCE} ${GETOPT_SOURCE}) |
643 |
target_link_libraries(Hydro openmd_single openmd_core openmd_single openmd_core) |
644 |
add_executable(StaticProps ${STATICPROPSSOURCE} ${GETOPT_SOURCE}) |
645 |
target_link_libraries(StaticProps openmd_single openmd_core openmd_single openmd_core) |
646 |
add_executable(SequentialProps ${SEQUENTIALPROPSSOURCE} ${GETOPT_SOURCE}) |
647 |
target_link_libraries(SequentialProps openmd_single openmd_core openmd_single openmd_core) |
648 |
add_executable(nanoparticleBuilder ${NANOPARTICLEBUILDERSOURCE} ${GETOPT_SOURCE}) |
649 |
target_link_libraries(nanoparticleBuilder openmd_single openmd_core openmd_single openmd_core openmd_single) |
650 |
add_executable(nanorodBuilder ${NANORODBUILDERSOURCE} ${GETOPT_SOURCE}) |
651 |
target_link_libraries(nanorodBuilder openmd_single openmd_core openmd_single openmd_core openmd_single) |
652 |
add_executable(nanorod_pentBuilder ${NANOROD_PENTBUILDERSOURCE} ${GETOPT_SOURCE}) |
653 |
target_link_libraries(nanorod_pentBuilder openmd_single openmd_core openmd_single openmd_core openmd_single) |
654 |
add_executable(icosahedralBuilder ${ICOSAHEDRALBUILDERSOURCE} ${GETOPT_SOURCE}) |
655 |
target_link_libraries(icosahedralBuilder openmd_single openmd_core openmd_single openmd_core openmd_single) |
656 |
add_executable(randomBuilder ${RANDOMBUILDERSOURCE} ${GETOPT_SOURCE}) |
657 |
target_link_libraries(randomBuilder openmd_single openmd_core openmd_single openmd_core openmd_single) |
658 |
add_executable(simpleBuilder ${SIMPLEBUILDERSOURCE} ${GETOPT_SOURCE}) |
659 |
target_link_libraries(simpleBuilder openmd_single openmd_core openmd_single openmd_core openmd_single) |
660 |
add_executable(thermalizer ${THERMALIZERSOURCE} ${GETOPT_SOURCE}) |
661 |
target_link_libraries(thermalizer openmd_single openmd_core openmd_single openmd_core openmd_single) |
662 |
add_executable(recenter ${RECENTERSOURCE} ${GETOPT_SOURCE}) |
663 |
target_link_libraries(recenter openmd_single openmd_core openmd_single openmd_core openmd_single) |
664 |
|
665 |
if (OPENBABEL2_FOUND) |
666 |
set (ATOM2MDSOURCE |
667 |
src/applications/atom2md/atom2md.cpp |
668 |
src/applications/atom2md/openmdformat.cpp |
669 |
) |
670 |
add_executable(atom2md ${ATOM2MDSOURCE} ${GETOPT_SOURCE}) |
671 |
target_link_libraries(atom2md openmd_single openmd_core openmd_single openmd_core ${OPENBABEL2_LIBRARIES}) |
672 |
INSTALL(TARGETS atom2md RUNTIME DESTINATION bin |
673 |
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) |
674 |
ENDIF (OPENBABEL2_FOUND) |
675 |
|
676 |
|
677 |
set(PYNONUMPY_FILES |
678 |
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 |
src/applications/utilities/mdShrink |
685 |
src/applications/utilities/stat2thcond |
686 |
src/applications/utilities/stat2visco |
687 |
src/applications/utilities/stat2dielectric |
688 |
src/applications/utilities/waterRotator |
689 |
) |
690 |
|
691 |
set(PYNUMPY_FILES |
692 |
src/applications/utilities/pack2md |
693 |
src/applications/utilities/principalAxisCalculator |
694 |
src/applications/utilities/vcorr2spectrum |
695 |
src/applications/utilities/waterReplacer |
696 |
) |
697 |
|
698 |
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 |
IF(PYTHON_EXECUTABLE) |
705 |
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 |
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 |
IF(WIN32) |
728 |
SET(PLEXT ".PL") |
729 |
ELSE(WIN32) |
730 |
SET(PLEXT "") |
731 |
ENDIF(WIN32) |
732 |
|
733 |
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 |
ENDIF(PERL_FOUND) |
742 |
|
743 |
|
744 |
INSTALL(FILES AUTHORS LICENSE README INSTALL DESTINATION . PERMISSIONS OWNER_READ GROUP_READ WORLD_READ) |
745 |
INSTALL(TARGETS |
746 |
openmd_core |
747 |
openmd_single |
748 |
openmd |
749 |
Dump2XYZ |
750 |
simpleBuilder |
751 |
StaticProps |
752 |
DynamicProps |
753 |
SequentialProps |
754 |
randomBuilder |
755 |
nanoparticleBuilder |
756 |
nanorodBuilder |
757 |
nanorod_pentBuilder |
758 |
icosahedralBuilder |
759 |
thermalizer |
760 |
recenter |
761 |
Hydro |
762 |
RUNTIME DESTINATION bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE |
763 |
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 |
) |
766 |
|
767 |
install(DIRECTORY forceFields/ |
768 |
DESTINATION forceFields |
769 |
DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE |
770 |
PATTERN ".svn" EXCLUDE |
771 |
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) |
772 |
install(DIRECTORY samples/ |
773 |
DESTINATION samples |
774 |
DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE |
775 |
PATTERN ".svn" EXCLUDE |
776 |
PATTERN "*.dump" EXCLUDE |
777 |
PATTERN "*.stat" EXCLUDE |
778 |
PATTERN "*.eor" EXCLUDE |
779 |
PATTERN "*.rnemd" EXCLUDE |
780 |
PATTERN "*.fz" EXCLUDE |
781 |
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) |
782 |
|
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 |
INSTALL(FILES "${CMAKE_CURRENT_SOURCE_DIR}/doc/OpenMDmanual.pdf" |
791 |
DESTINATION doc |
792 |
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) |
793 |
|
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 |
message( STATUS "Build as SINGLE_PRECISION .. = ${SINGLE_PRECISION}") |
802 |
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 |
message( STATUS "OPENBABEL2_ROOT ............ = ${OPENBABEL2_ROOT}") |
807 |
message( STATUS "OPENBABEL2_INCLUDE_DIR ..... = ${OPENBABEL2_INCLUDE_DIR}") |
808 |
message( STATUS "OPENBABEL2_LIBRARIES ....... = ${OPENBABEL2_LIBRARIES}") |
809 |
message( STATUS "QHULL_ROOT ................. = ${QHULL_ROOT}") |
810 |
message( STATUS "QHULL_INCLUDE_DIR .......... = ${QHULL_INCLUDE_DIR}") |
811 |
message( STATUS "QHULL_LIBRARIES ............ = ${QHULL_LIBRARIES}") |
812 |
message( STATUS "ZLIB_ROOT .................. = ${ZLIB_ROOT}") |
813 |
message( STATUS "ZLIB_INCLUDE_DIR ........... = ${ZLIB_INCLUDE_DIR}") |
814 |
message( STATUS "ZLIB_LIBRARIES ............. = ${ZLIB_LIBRARIES}") |
815 |
message( STATUS "FFTW3_ROOT ................. = ${FFTW3_ROOT}") |
816 |
message( STATUS "FFTW3_INCLUDE_DIR .......... = ${FFTW3_INCLUDE_DIR}") |
817 |
message( STATUS "FFTW3_LIBRARIES ............ = ${FFTW3_LIBRARIES}") |
818 |
message( STATUS "PERL_EXECUTABLE ............ = ${PERL_EXECUTABLE}") |
819 |
message( STATUS "PYTHON_EXECUTABLE .......... = ${PYTHON_EXECUTABLE}") |
820 |
message( STATUS "DOXYGEN_EXECUTABLE ......... = ${DOXYGEN_EXECUTABLE}") |
821 |
message( STATUS ) |
822 |
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 |
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 |
message( STATUS ) |
830 |
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 |
message( STATUS ) |
839 |
|
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) |