ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/CMakeLists.txt
(Generate patch)

Comparing branches/development/CMakeLists.txt (file contents):
Revision 1650 by gezelter, Tue Sep 27 12:42:03 2011 UTC vs.
Revision 1668 by gezelter, Fri Jan 6 19:03:05 2012 UTC

# Line 1 | Line 1
1   # Top level cmake script for OpenMD.
2
3 cmake_minimum_required (VERSION 2.6)
2   project(OpenMD)
3 + # project(OpenMD CXX)
4  
5 + CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
6 +
7 + SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules")
8 +
9 + if (NOT CMAKE_BUILD_TYPE)
10 +  set(CMAKE_BUILD_TYPE "Release")
11 + endif()
12 +
13 + include(CheckCXXCompilerFlag)
14 +
15   # OpenMD version number.
16   set (VERSION_MAJOR "2")
17   set (VERSION_MINOR "0")
18   set (VERSION_TINY "0")  
19  
20 < # cmake modules that are needed to build oopse
21 < SET(CMAKE_MODULE_PATH ${OpenMD_SOURCE_DIR}/cmake/modules)
20 > # Should
21 > option(SINGLE_PRECISION "Build Single precision (float) version" OFF)
22 >
23 >
24   IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
25    SET(CMAKE_INSTALL_PREFIX
26      "/usr/local/openmd" CACHE PATH "OpenMD install prefix" FORCE
# Line 35 | Line 46 | SET (CMAKE_ARCHIVE_OUTPUT_DIRECTORY
46    "Single directory for all static libraries."
47    )
48  
38
39 enable_language(CXX  C)
40
49   if ( APPLE )
50   set(MPI_COMPILER /opt/local/lib/openmpi/bin/mpic++)
51   set(MPI_LIBRARY "MPI_LIBRARY-NOTFOUND" )
# Line 55 | Line 63 | IF ( Subversion_FOUND AND EXISTS ${PROJECT_SOURCE_DIR}
63    Subversion_WC_LOG(${PROJECT_SOURCE_DIR} Project)
64    SET(SVN_REV ${Project_WC_REVISION})
65    ADD_DEFINITIONS( -DSVN_REV=${Project_WC_REVISION} )
66 +  SET(GENERATELOGS "${PROJECT_SOURCE_DIR}/doc/svn2cl")
67 +  ADD_CUSTOM_TARGET(ChangeLog
68 +     COMMAND ${GENERATELOGS} "--group-by-day" "--include-rev"
69 +     "--linelen=78" "--output=${PROJECT_BINARY_DIR}/ChangeLog" "${PROJECT_SOURCE_DIR}"
70 +  )
71   ENDIF()
72  
73 +
74 + include(CheckIncludeFile)
75 + include(CheckIncludeFileCXX)
76 + include(CheckSymbolExists)
77 + include(CheckLibraryExists)
78 + include(CheckTypeSize)
79 + include(CheckCSourceCompiles)
80 + check_include_file(conio.h      HAVE_CONIO_H)
81 + check_symbol_exists(strncasecmp   "string.h"   HAVE_STRNCASECMP)
82   # Optional libraries: If we can find these, we will build with them
83   # Look for OpenBabel libraries
84   find_package(OpenBabel2)
# Line 75 | Line 97 | ENDIF(QHULL_FOUND)
97    LINK_LIBRARIES(${QHULL_LIBRARIES})
98   ENDIF(QHULL_FOUND)
99  
78
100   # zlib stuff
101   find_package(ZLIB)
102   if(ZLIB_FOUND)
# Line 86 | Line 107 | endif(ZLIB_FOUND)
107   endif(ZLIB_FOUND)
108  
109   #FFTW
110 < INCLUDE(${CMAKE_MODULE_PATH}/FindFFTW.cmake)
110 > FIND_PACKAGE(FFTW)
111   IF(FFTW_FOUND)
112    SET(HAVE_LIBFFTW 1)
113 <  SET(HAVE_FFTW3_H)
113 >  SET(HAVE_FFTW3_H 1)
114    INCLUDE_DIRECTORIES(${FFTW_INCLUDE_DIR})
115    LINK_LIBRARIES(${FFTW_LIBRARIES})
116   ENDIF(FFTW_FOUND)
117  
118 <
119 < #include checks
120 < include(CheckIncludeFile)
121 < CHECK_INCLUDE_FILE(fftw3.h HAVE_FFTW3_H)
122 < CHECK_INCLUDE_FILE(fftw.h HAVE_FFWT_H)
123 < CHECK_INCLUDE_FILE(dfftw.h HAVE_DFFTW_H)
124 < CHECK_INCLUDE_FILE(cmath.h HAVE_CMATH_H)
125 < check_include_file(limits.h HAVE_LIMITS_H)
126 < check_include_file(stdlib.h HAVE_STDLIB_H)
127 < check_include_file(string.h HAVE_STRING_H)
107 < check_include_file("sys/ioctl.h" HAVE_SYS_IOCTL_H)
108 < check_include_file(unistd.h HAVE_UNISTD_H)
109 <
110 < #symbol checks
111 < include(CheckSymbolExists)
112 <
113 < #function checks
114 < include(CheckFunctionExists)
115 < check_function_exists(atexit HAVE_ATEXIT)
116 < check_function_exists(floor HAVE_FLOOR)
117 < check_function_exists(pow HAVE_POW)
118 < check_function_exists(select HAVE_SELECT)
119 < check_function_exists(sqrt HAVE_SQRT)
120 < check_function_exists(strcasecmp HAVE_STRCASECMP)
121 < check_function_exists(strchr HAVE_STRCHR)
122 < check_function_exists(strdup HAVE_STRDUP)
123 < check_function_exists(strncasecmp HAVE_STRNCASECMP)
124 < check_function_exists(strstr HAVE_STRSTR)
125 < check_function_exists(strtol HAVE_STRTOL)
126 < check_function_exists(strtoull HAVE_STRTOULL)
127 < check_function_exists(sysmp HAVE_SYSMP)
128 < check_function_exists(table HAVE_TABLE)
118 > # add a target to generate API documentation with Doxygen
119 > find_package(Doxygen)
120 > if(DOXYGEN_FOUND)
121 >  configure_file("${CMAKE_CURRENT_SOURCE_DIR}/doc/Doxyfile.in" "${CMAKE_CURRENT_BINARY_DIR}/doc/Doxyfile" @ONLY)
122 >  add_custom_target(doc
123 >    ${DOXYGEN_EXECUTABLE} "${CMAKE_CURRENT_BINARY_DIR}/doc/Doxyfile"
124 >    WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/doc"
125 >    COMMENT "Generating API documentation with Doxygen" VERBATIM
126 >  )
127 > endif(DOXYGEN_FOUND)
128  
130
129   FIND_PACKAGE(Perl)
130   IF(PERL_FOUND)
131    SET(PERL ${PERL_EXECUTABLE})
# Line 144 | Line 142 | SET(PERL_INSTALLDIRS "site" CACHE STRING "Perl install
142  
143   SET(PERL_INSTALLDIRS "site" CACHE STRING "Perl installation locations")
144  
147
145   configure_file (
146    "${PROJECT_SOURCE_DIR}/src/config.h.cmake"
147 <  "${PROJECT_SOURCE_DIR}/src/config.h"
148 <  )
149 < include_directories (${PROJECT_SOURCE_DIR}/src)
153 <
154 < #CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
147 >  "${PROJECT_BINARY_DIR}/config.h"
148 > )
149 > include_directories("${PROJECT_BINARY_DIR}" "${PROJECT_SOURCE_DIR}/src")
150  
151  
152   #Add executables for build
# Line 376 | Line 371 | src/utils/ProgressBar.cpp
371   src/restraints/RestraintForceManager.cpp
372   src/restraints/ThermoIntegrationForceManager.cpp
373   src/utils/ProgressBar.cpp
374 < src/utils/simError.c
374 > src/utils/simError.cpp
375   )
376  
377   IF(QHULL_FOUND)
# Line 420 | Line 415 | src/applications/dump2Xyz/Dump2XYZ.cpp
415  
416   set (DUMP2XYZSOURCE
417   src/applications/dump2Xyz/Dump2XYZ.cpp
418 < src/applications/dump2Xyz/Dump2XYZCmd.c
418 > src/applications/dump2Xyz/Dump2XYZCmd.cpp
419   )
420  
421   set (DYNAMICPROPSSOURCE
# Line 441 | Line 436 | src/applications/dynamicProps/VCorrFunc.cpp
436   src/applications/dynamicProps/ThetaCorrFunc.cpp
437   src/applications/dynamicProps/TimeCorrFunc.cpp
438   src/applications/dynamicProps/VCorrFunc.cpp
439 < src/applications/dynamicProps/DynamicPropsCmd.c
439 > src/applications/dynamicProps/DynamicPropsCmd.cpp
440   )
441  
442   set (HYDROSOURCE
# Line 454 | Line 449 | src/applications/hydrodynamics/ShapeBuilder.cpp
449   src/applications/hydrodynamics/HydrodynamicsModelFactory.cpp
450   src/applications/hydrodynamics/RoughShell.cpp
451   src/applications/hydrodynamics/ShapeBuilder.cpp
452 < src/applications/hydrodynamics/HydroCmd.c
452 > src/applications/hydrodynamics/HydroCmd.cpp
453   )
454  
455   set (STATICPROPSSOURCE
# Line 483 | Line 478 | src/applications/staticProps/TwoDGofR.cpp
478   src/applications/staticProps/StaticProps.cpp
479   src/applications/staticProps/TetrahedralityParam.cpp
480   src/applications/staticProps/TwoDGofR.cpp
481 < src/applications/staticProps/StaticPropsCmd.c
481 > src/applications/staticProps/StaticPropsCmd.cpp
482   )
483  
484   set (NANOPARTICLEBUILDERSOURCE
485   src/applications/nanoparticleBuilder/nanoparticleBuilder.cpp
486   src/applications/nanoparticleBuilder/shapedLatticeSpherical.cpp
487 < src/applications/nanoparticleBuilder/nanoparticleBuilderCmd.c
487 > src/applications/nanoparticleBuilder/nanoparticleBuilderCmd.cpp
488   )
489  
490   set (RANDOMBUILDERSOURCE
491   src/applications/randomBuilder/randomBuilder.cpp
492 < src/applications/randomBuilder/randomBuilderCmd.c
492 > src/applications/randomBuilder/randomBuilderCmd.cpp
493   )
494  
495   set(SIMPLEBUILDERSOURCE
496   src/applications/simpleBuilder/simpleBuilder.cpp
497 < src/applications/simpleBuilder/simpleBuilderCmd.c
497 > src/applications/simpleBuilder/simpleBuilderCmd.cpp
498   )
499  
500   set(THERMALIZERSOURCE
501   src/applications/thermalizer/thermalizer.cpp
502 < src/applications/thermalizer/thermalizerCmd.c
502 > src/applications/thermalizer/thermalizerCmd.cpp
503   )
504  
505   add_executable(Dump2XYZ ${DUMP2XYZSOURCE})
# Line 546 | Line 541 | src/applications/utilities/waterRotator
541   src/applications/utilities/principalAxisCalculator
542   src/applications/utilities/stat2visco
543   src/applications/utilities/waterRotator
544 + src/applications/utilities/waterReplacer
545   )
546  
547   IF(PYTHON_EXECUTABLE)
# Line 575 | Line 571 | ENDIF(PERL_FOUND)
571     endforeach(PERL_FILE)
572   ENDIF(PERL_FOUND)
573  
574 < INSTALL(FILES AUTHORS LICENSE README DESTINATION .
574 > INSTALL(FILES AUTHORS LICENSE README INSTALL DESTINATION .
575          PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
576   INSTALL(TARGETS
577          openmd_core
# Line 603 | Line 599 | install(DIRECTORY samples/      
599          DESTINATION samples
600          DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
601          PATTERN ".svn" EXCLUDE
602 +        PATTERN "*.dump" EXCLUDE
603 +        PATTERN "*.stat" EXCLUDE
604          PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
605 + INSTALL(FILES "${CMAKE_CURRENT_SOURCE_DIR}/doc/OpenMDmanual.pdf"
606 +        DESTINATION doc
607 +        PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines