Fixing copyright issues and code contributors
[alexxy/gromacs.git] / share / template / CMakeLists.txt
1 #
2 # This file is part of the GROMACS molecular simulation package.
3 #
4 # Copyright (c) 2012,2013, by the GROMACS development team, led by
5 # David van der Spoel, Berk Hess, Erik Lindahl, and including many
6 # others, as listed in the AUTHORS file in the top-level source
7 # directory and at http://www.gromacs.org.
8 #
9 # GROMACS is free software; you can redistribute it and/or
10 # modify it under the terms of the GNU Lesser General Public License
11 # as published by the Free Software Foundation; either version 2.1
12 # of the License, or (at your option) any later version.
13 #
14 # GROMACS is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17 # Lesser General Public License for more details.
18 #
19 # You should have received a copy of the GNU Lesser General Public
20 # License along with GROMACS; if not, see
21 # http://www.gnu.org/licenses, or write to the Free Software Foundation,
22 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA.
23 #
24 # If you want to redistribute modifications to GROMACS, please
25 # consider that scientific software is very special. Version
26 # control is crucial - bugs must be traceable. We will be happy to
27 # consider code for inclusion in the official distribution, but
28 # derived work must not be called official GROMACS. Details are found
29 # in the README & COPYING files - if they are missing, get the
30 # official version at http://www.gromacs.org.
31 #
32 # To help us fund GROMACS development, we humbly ask that you cite
33 # the research papers on the package. Check out http://www.gromacs.org.
34 #
35 install(FILES CMakeLists.txt.template
36         DESTINATION ${DATA_INSTALL_DIR}/template
37         RENAME CMakeLists.txt
38         COMPONENT development)
39
40 file(GLOB_RECURSE GROMACS_HEADERS ${CMAKE_SOURCE_DIR}/include *.h)
41 add_custom_command(OUTPUT gromacs
42     COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/include gromacs 
43     DEPENDS ${GROMACS_HEADERS})
44 add_custom_target(gromacs_include_links DEPENDS gromacs)
45
46 option(GMX_BUILD_TEMPLATE "Build gromacs template program" ON)
47 mark_as_advanced(GMX_BUILD_TEMPLATE)
48 # GMX_PREFER_STATIC_OPENMP=yes is a special case to build binaries
49 # to distribute and as the template is not installed it can be
50 # ignored.
51 # The template is build in a user-like environment, hence we use
52 # flags from PKG_CFLAGS. Again GMX_PREFER_STATIC_OPENMP=yes would
53 # need special link flags (OpenMP_LINKER_FLAGS), which are not
54 # very user-like.
55 if (GMX_BUILD_TEMPLATE AND NOT GMX_PREFER_STATIC_OPENMP)
56     add_executable(template template.c)
57     remove_definitions( -DHAVE_CONFIG_H )
58     add_definitions("${PKG_CFLAGS}")
59     target_link_libraries(template gmx)
60     include_directories("${CMAKE_CURRENT_BINARY_DIR}")
61     add_dependencies(template gromacs_include_links)
62 endif()
63
64 install(FILES README template.c Makefile.pkg
65         DESTINATION ${DATA_INSTALL_DIR}/template
66         COMPONENT development)
67
68 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindGROMACS.cmakein
69         ${CMAKE_CURRENT_BINARY_DIR}/cmake/FindGROMACS.cmake @ONLY)
70
71 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cmake/FindGROMACS.cmake
72         DESTINATION ${DATA_INSTALL_DIR}/template/cmake
73         COMPONENT development)
74