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 |
|
|
41 |
|
if ( APPLE ) |
75 |
|
LINK_LIBRARIES(${QHULL_LIBRARIES}) |
76 |
|
ENDIF(QHULL_FOUND) |
77 |
|
|
56 |
– |
|
78 |
|
# zlib stuff |
79 |
|
find_package(ZLIB) |
80 |
|
if(ZLIB_FOUND) |
93 |
|
LINK_LIBRARIES(${FFTW_LIBRARIES}) |
94 |
|
ENDIF(FFTW_FOUND) |
95 |
|
|
96 |
+ |
# add a target to generate API documentation with Doxygen |
97 |
+ |
find_package(Doxygen) |
98 |
+ |
if(DOXYGEN_FOUND) |
99 |
+ |
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/doc/Doxyfile.in" "${CMAKE_CURRENT_BINARY_DIR}/doc/Doxyfile" @ONLY) |
100 |
+ |
add_custom_target(doc |
101 |
+ |
${DOXYGEN_EXECUTABLE} "${CMAKE_CURRENT_BINARY_DIR}/doc/Doxyfile" |
102 |
+ |
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/doc" |
103 |
+ |
COMMENT "Generating API documentation with Doxygen" VERBATIM |
104 |
+ |
) |
105 |
+ |
endif(DOXYGEN_FOUND) |
106 |
|
|
107 |
|
#include checks |
108 |
|
include(CheckIncludeFile) |
154 |
|
SET(PERL_INSTALLDIRS "site" CACHE STRING "Perl installation locations") |
155 |
|
|
156 |
|
|
126 |
– |
include(CMakePrintSystemInformation) |
127 |
– |
|
157 |
|
configure_file ( |
158 |
|
"${PROJECT_SOURCE_DIR}/src/config.h.cmake" |
159 |
|
"${PROJECT_SOURCE_DIR}/src/config.h" |
419 |
|
COMPILE_DEFINITIONS IS_MPI |
420 |
|
) |
421 |
|
target_link_libraries(openmd_MPI openmd_parallel openmd_core openmd_parallel openmd_core) |
422 |
+ |
INSTALL(TARGETS |
423 |
+ |
openmd_parallel openmd_MPI |
424 |
+ |
RUNTIME DESTINATION bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE |
425 |
+ |
LIBRARY DESTINATION lib PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ |
426 |
+ |
ARCHIVE DESTINATION lib PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ |
427 |
+ |
) |
428 |
|
ENDIF (MPI_FOUND) |
429 |
|
|
430 |
|
set (DUMP2XYZSOURCE |
540 |
|
) |
541 |
|
add_executable(atom2md ${ATOM2MDSOURCE}) |
542 |
|
target_link_libraries(atom2md openmd_single openmd_core openmd_single openmd_core ${OPENBABEL2_LIBRARIES}) |
543 |
+ |
INSTALL(TARGETS atom2md RUNTIME DESTINATION bin |
544 |
+ |
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) |
545 |
|
ENDIF (OPENBABEL2_FOUND) |
546 |
|
|
547 |
|
|
559 |
|
|
560 |
|
IF(PYTHON_EXECUTABLE) |
561 |
|
foreach(PY_FILE ${PY_FILES}) |
562 |
< |
configure_file(${PY_FILE} "${EXECUTABLE_OUTPUT_PATH}"/${PY_FILE} @ONLY) |
562 |
> |
GET_FILENAME_COMPONENT(filename "${PY_FILE}" NAME) |
563 |
> |
CONFIGURE_FILE(${PY_FILE} |
564 |
> |
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${filename}" @ONLY) |
565 |
> |
INSTALL(FILES "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${filename}" |
566 |
> |
DESTINATION bin |
567 |
> |
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) |
568 |
|
endforeach(PY_FILE) |
527 |
– |
#INSTALL(FILES ${PY_FILES} DESTINATION ${EXECUTABLE_OUTPUT_PATH}) |
569 |
|
ENDIF(PYTHON_EXECUTABLE) |
570 |
|
|
571 |
|
set(PERL_FILES |
575 |
|
|
576 |
|
IF(PERL_FOUND) |
577 |
|
foreach(PERL_FILE ${PERL_FILES}) |
578 |
< |
configure_file(${PERL_FILE} "${EXECUTABLE_OUTPUT_PATH}"/${PERL_FILE} @ONLY) |
578 |
> |
GET_FILENAME_COMPONENT(filename "${PERL_FILE}" NAME) |
579 |
> |
configure_file(${PERL_FILE} "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${filename}" @ONLY) |
580 |
> |
INSTALL(FILES "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${filename}" |
581 |
> |
DESTINATION bin |
582 |
> |
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) |
583 |
> |
|
584 |
|
endforeach(PERL_FILE) |
539 |
– |
#INSTALL(FILES ${PERL_FILES} DESTINATION ${EXECUTABLE_OUTPUT_PATH}) |
585 |
|
ENDIF(PERL_FOUND) |
586 |
+ |
|
587 |
+ |
INSTALL(FILES AUTHORS LICENSE README DESTINATION . |
588 |
+ |
PERMISSIONS OWNER_READ GROUP_READ WORLD_READ) |
589 |
+ |
INSTALL(TARGETS |
590 |
+ |
openmd_core |
591 |
+ |
openmd_single |
592 |
+ |
openmd |
593 |
+ |
Dump2XYZ |
594 |
+ |
simpleBuilder |
595 |
+ |
StaticProps |
596 |
+ |
DynamicProps |
597 |
+ |
randomBuilder |
598 |
+ |
nanoparticleBuilder |
599 |
+ |
thermalizer |
600 |
+ |
Hydro |
601 |
+ |
RUNTIME DESTINATION bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE |
602 |
+ |
LIBRARY DESTINATION lib PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ |
603 |
+ |
ARCHIVE DESTINATION lib PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ |
604 |
+ |
) |
605 |
+ |
|
606 |
+ |
install(DIRECTORY forceFields/ |
607 |
+ |
DESTINATION forceFields |
608 |
+ |
DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE |
609 |
+ |
PATTERN ".svn" EXCLUDE |
610 |
+ |
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) |
611 |
+ |
install(DIRECTORY samples/ |
612 |
+ |
DESTINATION samples |
613 |
+ |
DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE |
614 |
+ |
PATTERN ".svn" EXCLUDE |
615 |
+ |
PATTERN "*.dump" EXCLUDE |
616 |
+ |
PATTERN "*.stat" EXCLUDE |
617 |
+ |
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) |
618 |
+ |
INSTALL(FILES "${CMAKE_CURRENT_SOURCE_DIR}/doc/OpenMDmanual.pdf" |
619 |
+ |
DESTINATION doc |
620 |
+ |
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) |