| 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") |
| 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 |
|
|
| 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 |
| 80 |
|
LINK_LIBRARIES(${QHULL_LIBRARIES}) |
| 81 |
|
ENDIF(QHULL_FOUND) |
| 82 |
|
|
| 56 |
– |
|
| 83 |
|
# zlib stuff |
| 84 |
|
find_package(ZLIB) |
| 85 |
|
if(ZLIB_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) |
| 157 |
|
ENDIF(PYTHON_EXECUTABLE) |
| 158 |
|
|
| 159 |
|
SET(PERL_INSTALLDIRS "site" CACHE STRING "Perl installation locations") |
| 124 |
– |
|
| 160 |
|
|
| 126 |
– |
include(CMakePrintSystemInformation) |
| 161 |
|
|
| 162 |
|
configure_file ( |
| 163 |
|
"${PROJECT_SOURCE_DIR}/src/config.h.cmake" |
| 424 |
|
COMPILE_DEFINITIONS IS_MPI |
| 425 |
|
) |
| 426 |
|
target_link_libraries(openmd_MPI openmd_parallel openmd_core openmd_parallel openmd_core) |
| 427 |
+ |
INSTALL(TARGETS |
| 428 |
+ |
openmd_parallel openmd_MPI |
| 429 |
+ |
RUNTIME DESTINATION bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE |
| 430 |
+ |
LIBRARY DESTINATION lib PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ |
| 431 |
+ |
ARCHIVE DESTINATION lib PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ |
| 432 |
+ |
) |
| 433 |
|
ENDIF (MPI_FOUND) |
| 434 |
|
|
| 435 |
|
set (DUMP2XYZSOURCE |
| 545 |
|
) |
| 546 |
|
add_executable(atom2md ${ATOM2MDSOURCE}) |
| 547 |
|
target_link_libraries(atom2md openmd_single openmd_core openmd_single openmd_core ${OPENBABEL2_LIBRARIES}) |
| 548 |
+ |
INSTALL(TARGETS atom2md RUNTIME DESTINATION bin |
| 549 |
+ |
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) |
| 550 |
|
ENDIF (OPENBABEL2_FOUND) |
| 551 |
|
|
| 552 |
|
|
| 564 |
|
|
| 565 |
|
IF(PYTHON_EXECUTABLE) |
| 566 |
|
foreach(PY_FILE ${PY_FILES}) |
| 567 |
< |
configure_file(${PY_FILE} "${EXECUTABLE_OUTPUT_PATH}"/${PY_FILE} @ONLY) |
| 567 |
> |
GET_FILENAME_COMPONENT(filename "${PY_FILE}" NAME) |
| 568 |
> |
CONFIGURE_FILE(${PY_FILE} |
| 569 |
> |
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${filename}" @ONLY) |
| 570 |
> |
INSTALL(FILES "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${filename}" |
| 571 |
> |
DESTINATION bin |
| 572 |
> |
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) |
| 573 |
|
endforeach(PY_FILE) |
| 527 |
– |
#INSTALL(FILES ${PY_FILES} DESTINATION ${EXECUTABLE_OUTPUT_PATH}) |
| 574 |
|
ENDIF(PYTHON_EXECUTABLE) |
| 575 |
|
|
| 576 |
|
set(PERL_FILES |
| 580 |
|
|
| 581 |
|
IF(PERL_FOUND) |
| 582 |
|
foreach(PERL_FILE ${PERL_FILES}) |
| 583 |
< |
configure_file(${PERL_FILE} "${EXECUTABLE_OUTPUT_PATH}"/${PERL_FILE} @ONLY) |
| 583 |
> |
GET_FILENAME_COMPONENT(filename "${PERL_FILE}" NAME) |
| 584 |
> |
configure_file(${PERL_FILE} "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${filename}" @ONLY) |
| 585 |
> |
INSTALL(FILES "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${filename}" |
| 586 |
> |
DESTINATION bin |
| 587 |
> |
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) |
| 588 |
> |
|
| 589 |
|
endforeach(PERL_FILE) |
| 539 |
– |
#INSTALL(FILES ${PERL_FILES} DESTINATION ${EXECUTABLE_OUTPUT_PATH}) |
| 590 |
|
ENDIF(PERL_FOUND) |
| 591 |
+ |
|
| 592 |
+ |
INSTALL(FILES AUTHORS LICENSE README INSTALL DESTINATION . |
| 593 |
+ |
PERMISSIONS OWNER_READ GROUP_READ WORLD_READ) |
| 594 |
+ |
INSTALL(TARGETS |
| 595 |
+ |
openmd_core |
| 596 |
+ |
openmd_single |
| 597 |
+ |
openmd |
| 598 |
+ |
Dump2XYZ |
| 599 |
+ |
simpleBuilder |
| 600 |
+ |
StaticProps |
| 601 |
+ |
DynamicProps |
| 602 |
+ |
randomBuilder |
| 603 |
+ |
nanoparticleBuilder |
| 604 |
+ |
thermalizer |
| 605 |
+ |
Hydro |
| 606 |
+ |
RUNTIME DESTINATION bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE |
| 607 |
+ |
LIBRARY DESTINATION lib PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ |
| 608 |
+ |
ARCHIVE DESTINATION lib PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ |
| 609 |
+ |
) |
| 610 |
+ |
|
| 611 |
+ |
install(DIRECTORY forceFields/ |
| 612 |
+ |
DESTINATION forceFields |
| 613 |
+ |
DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE |
| 614 |
+ |
PATTERN ".svn" EXCLUDE |
| 615 |
+ |
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) |
| 616 |
+ |
install(DIRECTORY samples/ |
| 617 |
+ |
DESTINATION samples |
| 618 |
+ |
DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE |
| 619 |
+ |
PATTERN ".svn" EXCLUDE |
| 620 |
+ |
PATTERN "*.dump" EXCLUDE |
| 621 |
+ |
PATTERN "*.stat" EXCLUDE |
| 622 |
+ |
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) |
| 623 |
+ |
INSTALL(FILES "${CMAKE_CURRENT_SOURCE_DIR}/doc/OpenMDmanual.pdf" |
| 624 |
+ |
DESTINATION doc |
| 625 |
+ |
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) |