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 1639 by gezelter, Sat Sep 24 20:18:07 2011 UTC vs.
Revision 1655 by gezelter, Mon Oct 3 20:32:45 2011 UTC

# Line 3 | Line 3 | project(OpenMD)
3   cmake_minimum_required (VERSION 2.6)
4   project(OpenMD)
5  
6
6   # OpenMD version number.
7   set (VERSION_MAJOR "2")
8   set (VERSION_MINOR "0")
# Line 11 | Line 10 | SET(CMAKE_MODULE_PATH ${OpenMD_SOURCE_DIR}/cmake/modul
10  
11   # cmake modules that are needed to build oopse
12   SET(CMAKE_MODULE_PATH ${OpenMD_SOURCE_DIR}/cmake/modules)
13 < SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
14 < SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
13 > IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
14 >  SET(CMAKE_INSTALL_PREFIX
15 >    "/usr/local/openmd" CACHE PATH "OpenMD install prefix" FORCE
16 >    )
17 > ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
18  
19 + # ---------- Setup output Directories -------------------------
20 + SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY
21 +  ${PROJECT_BINARY_DIR}/lib
22 +  CACHE PATH
23 +  "Single directory for all shared libraries"
24 +  )
25 + # --------- Setup the Executable output Directory -------------
26 + SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY
27 +  ${PROJECT_BINARY_DIR}/bin
28 +  CACHE PATH
29 +  "Single directory for all Executables."
30 +  )
31 + # --------- Setup the static library directory -------------
32 + SET (CMAKE_ARCHIVE_OUTPUT_DIRECTORY
33 +  ${PROJECT_BINARY_DIR}/lib
34 +  CACHE PATH
35 +  "Single directory for all static libraries."
36 +  )
37 +
38 +
39   enable_language(CXX  C)
40  
41   if ( APPLE )
# Line 33 | Line 55 | IF ( Subversion_FOUND AND EXISTS ${PROJECT_SOURCE_DIR}
55    Subversion_WC_LOG(${PROJECT_SOURCE_DIR} Project)
56    SET(SVN_REV ${Project_WC_REVISION})
57    ADD_DEFINITIONS( -DSVN_REV=${Project_WC_REVISION} )
58 +  SET(GENERATELOGS "${PROJECT_SOURCE_DIR}/doc/svn2cl")
59 +  ADD_CUSTOM_TARGET(ChangeLog
60 +     COMMAND ${GENERATELOGS} "--group-by-day" "--include-rev"
61 +     "--linelen=78" "--output=${PROJECT_BINARY_DIR}/ChangeLog" "${PROJECT_SOURCE_DIR}"
62 +  )
63   ENDIF()
64  
65   # Optional libraries: If we can find these, we will build with them
# Line 53 | Line 80 | ENDIF(QHULL_FOUND)
80    LINK_LIBRARIES(${QHULL_LIBRARIES})
81   ENDIF(QHULL_FOUND)
82  
56
83   # zlib stuff
84   find_package(ZLIB)
85   if(ZLIB_FOUND)
# Line 72 | Line 98 | ENDIF(FFTW_FOUND)
98    LINK_LIBRARIES(${FFTW_LIBRARIES})
99   ENDIF(FFTW_FOUND)
100  
101 + # add a target to generate API documentation with Doxygen
102 + find_package(Doxygen)
103 + if(DOXYGEN_FOUND)
104 +  configure_file("${CMAKE_CURRENT_SOURCE_DIR}/doc/Doxyfile.in" "${CMAKE_CURRENT_BINARY_DIR}/doc/Doxyfile" @ONLY)
105 +  add_custom_target(doc
106 +    ${DOXYGEN_EXECUTABLE} "${CMAKE_CURRENT_BINARY_DIR}/doc/Doxyfile"
107 +    WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/doc"
108 +    COMMENT "Generating API documentation with Doxygen" VERBATIM
109 +  )
110 + endif(DOXYGEN_FOUND)
111  
112   #include checks
113   include(CheckIncludeFile)
# Line 123 | Line 159 | SET(PERL_INSTALLDIRS "site" CACHE STRING "Perl install
159   SET(PERL_INSTALLDIRS "site" CACHE STRING "Perl installation locations")
160  
161  
126 include(CMakePrintSystemInformation)
127
162   configure_file (
163    "${PROJECT_SOURCE_DIR}/src/config.h.cmake"
164 <  "${PROJECT_SOURCE_DIR}/src/config.h"
165 <  )
166 < include_directories (${PROJECT_SOURCE_DIR}/src)
133 <
134 < #CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
164 >  "${PROJECT_BINARY_DIR}/config.h"
165 > )
166 > include_directories("${PROJECT_BINARY_DIR}" "${PROJECT_SOURCE_DIR}/src")
167  
168  
169   #Add executables for build
# Line 390 | Line 422 | target_link_libraries(openmd_MPI openmd_parallel openm
422   COMPILE_DEFINITIONS IS_MPI
423   )
424   target_link_libraries(openmd_MPI openmd_parallel openmd_core openmd_parallel openmd_core)
425 +  INSTALL(TARGETS
426 +        openmd_parallel openmd_MPI
427 +  RUNTIME DESTINATION bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
428 +  LIBRARY DESTINATION lib PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
429 +  ARCHIVE DESTINATION lib PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
430 + )
431   ENDIF (MPI_FOUND)
432  
433   set (DUMP2XYZSOURCE
434   src/applications/dump2Xyz/Dump2XYZ.cpp
435 < src/applications/dump2Xyz/Dump2XYZCmd.c
435 > src/applications/dump2Xyz/Dump2XYZCmd.cpp
436   )
437  
438   set (DYNAMICPROPSSOURCE
# Line 415 | Line 453 | src/applications/dynamicProps/VCorrFunc.cpp
453   src/applications/dynamicProps/ThetaCorrFunc.cpp
454   src/applications/dynamicProps/TimeCorrFunc.cpp
455   src/applications/dynamicProps/VCorrFunc.cpp
456 < src/applications/dynamicProps/DynamicPropsCmd.c
456 > src/applications/dynamicProps/DynamicPropsCmd.cpp
457   )
458  
459   set (HYDROSOURCE
# Line 428 | Line 466 | src/applications/hydrodynamics/ShapeBuilder.cpp
466   src/applications/hydrodynamics/HydrodynamicsModelFactory.cpp
467   src/applications/hydrodynamics/RoughShell.cpp
468   src/applications/hydrodynamics/ShapeBuilder.cpp
469 < src/applications/hydrodynamics/HydroCmd.c
469 > src/applications/hydrodynamics/HydroCmd.cpp
470   )
471  
472   set (STATICPROPSSOURCE
# Line 457 | Line 495 | src/applications/staticProps/TwoDGofR.cpp
495   src/applications/staticProps/StaticProps.cpp
496   src/applications/staticProps/TetrahedralityParam.cpp
497   src/applications/staticProps/TwoDGofR.cpp
498 < src/applications/staticProps/StaticPropsCmd.c
498 > src/applications/staticProps/StaticPropsCmd.cpp
499   )
500  
501   set (NANOPARTICLEBUILDERSOURCE
502   src/applications/nanoparticleBuilder/nanoparticleBuilder.cpp
503   src/applications/nanoparticleBuilder/shapedLatticeSpherical.cpp
504 < src/applications/nanoparticleBuilder/nanoparticleBuilderCmd.c
504 > src/applications/nanoparticleBuilder/nanoparticleBuilderCmd.cpp
505   )
506  
507   set (RANDOMBUILDERSOURCE
508   src/applications/randomBuilder/randomBuilder.cpp
509 < src/applications/randomBuilder/randomBuilderCmd.c
509 > src/applications/randomBuilder/randomBuilderCmd.cpp
510   )
511  
512   set(SIMPLEBUILDERSOURCE
513   src/applications/simpleBuilder/simpleBuilder.cpp
514 < src/applications/simpleBuilder/simpleBuilderCmd.c
514 > src/applications/simpleBuilder/simpleBuilderCmd.cpp
515   )
516  
517   set(THERMALIZERSOURCE
518   src/applications/thermalizer/thermalizer.cpp
519 < src/applications/thermalizer/thermalizerCmd.c
519 > src/applications/thermalizer/thermalizerCmd.cpp
520   )
521  
522   add_executable(Dump2XYZ ${DUMP2XYZSOURCE})
# Line 505 | Line 543 | src/applications/atom2md/openmdformat.cpp
543   )
544    add_executable(atom2md ${ATOM2MDSOURCE})
545    target_link_libraries(atom2md openmd_single openmd_core openmd_single openmd_core ${OPENBABEL2_LIBRARIES})
546 +  INSTALL(TARGETS atom2md RUNTIME DESTINATION bin
547 +          PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
548   ENDIF (OPENBABEL2_FOUND)
549  
550  
# Line 522 | Line 562 | IF(PYTHON_EXECUTABLE)
562  
563   IF(PYTHON_EXECUTABLE)
564     foreach(PY_FILE ${PY_FILES})
565 <      configure_file(${PY_FILE} "${EXECUTABLE_OUTPUT_PATH}"/${PY_FILE} @ONLY)
565 >      GET_FILENAME_COMPONENT(filename "${PY_FILE}" NAME)
566 >      CONFIGURE_FILE(${PY_FILE}
567 >                     "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${filename}" @ONLY)
568 >      INSTALL(FILES "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${filename}"
569 >              DESTINATION bin
570 >              PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
571     endforeach(PY_FILE)
527 #INSTALL(FILES ${PY_FILES} DESTINATION ${EXECUTABLE_OUTPUT_PATH})
572   ENDIF(PYTHON_EXECUTABLE)
573  
574   set(PERL_FILES
# Line 534 | Line 578 | IF(PERL_FOUND)
578  
579   IF(PERL_FOUND)
580     foreach(PERL_FILE ${PERL_FILES})
581 <      configure_file(${PERL_FILE} "${EXECUTABLE_OUTPUT_PATH}"/${PERL_FILE} @ONLY)
581 >      GET_FILENAME_COMPONENT(filename "${PERL_FILE}" NAME)
582 >      configure_file(${PERL_FILE} "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${filename}" @ONLY)
583 >      INSTALL(FILES "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${filename}"
584 >              DESTINATION bin
585 >              PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
586 >
587     endforeach(PERL_FILE)
539 #INSTALL(FILES ${PERL_FILES} DESTINATION ${EXECUTABLE_OUTPUT_PATH})
588   ENDIF(PERL_FOUND)
589 +
590 + INSTALL(FILES AUTHORS LICENSE README INSTALL DESTINATION .
591 +        PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
592 + INSTALL(TARGETS
593 +        openmd_core
594 +        openmd_single
595 +        openmd
596 +        Dump2XYZ
597 +        simpleBuilder
598 +        StaticProps
599 +        DynamicProps
600 +        randomBuilder
601 +        nanoparticleBuilder
602 +        thermalizer
603 +        Hydro
604 +  RUNTIME DESTINATION bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
605 +  LIBRARY DESTINATION lib PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
606 +  ARCHIVE DESTINATION lib PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
607 + )
608 +
609 + install(DIRECTORY forceFields/  
610 +        DESTINATION forceFields
611 +        DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
612 +        PATTERN ".svn" EXCLUDE
613 +        PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
614 + install(DIRECTORY samples/      
615 +        DESTINATION samples
616 +        DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
617 +        PATTERN ".svn" EXCLUDE
618 +        PATTERN "*.dump" EXCLUDE
619 +        PATTERN "*.stat" EXCLUDE
620 +        PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
621 + INSTALL(FILES "${CMAKE_CURRENT_SOURCE_DIR}/doc/OpenMDmanual.pdf"
622 +        DESTINATION doc
623 +        PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines