# -*- mode: cmake; tab-width: 2; indent-tabs-mode: t; truncate-lines: t; compile-command: "cmake -Wdev" -*- # vim: set filetype=cmake autoindent tabstop=2 shiftwidth=2 noexpandtab softtabstop=2 nowrap: ########################################################################### # # # Note: The bulk of the build system is located in the cmake/ directory. # # This file only contains the specializations for this particular # # project. Most likely you are interested in editing one of these # # files instead: # # # # dune.module Name and version number # # CMakeLists_files.cmake Path of source files # # cmake/Modules/${project}-prereqs.cmake Dependencies # # # ########################################################################### cmake_minimum_required (VERSION 2.8) # additional search modules find_path (OPM_MACROS_ROOT cmake/Modules/OpmInit.cmake PATHS ${opm-macros_ROOT} ${CMAKE_CURRENT_SOURCE_DIR} DOC "Path to build system macros and scripts" NO_DEFAULT_PATH ) list (APPEND CMAKE_MODULE_PATH "${OPM_MACROS_ROOT}/cmake/Modules") option( INCLUDE_NON_PUBLIC_TESTS "Include the tests which need non-public data" OFF) # not the same location as most of the other projects? this hook overrides macro (dir_hook) endmacro (dir_hook) # project information is in dune.module. Read this file and set variables. # we cannot generate dune.module since it is read by dunecontrol before # the build starts, so it makes sense to keep the data there then. include (OpmInit) # list of prerequisites for this particular project; this is in a # separate file (in cmake/Modules sub-directory) because it is shared # with the find module include (${project}-prereqs) # read the list of components from this file (in the project directory); # it should set various lists with the names of the files to include include (CMakeLists_files.cmake) macro (config_hook) # opm_need_version_of ("dune-common") endmacro (config_hook) macro (prereqs_hook) endmacro (prereqs_hook) macro (sources_hook) endmacro (sources_hook) macro (fortran_hook) endmacro (fortran_hook) macro (tests_hook) endmacro (tests_hook) # all setup common to the OPM library modules is done here include (OpmLibMain) # download Eigen if user doesn't have the correct version if (NOT EIGEN3_FOUND) message (STATUS "Downloading Eigen3") include (ExternalProject) externalProject_Add (Eigen3 GIT_REPOSITORY git://github.com/OPM/eigen3 UPDATE_COMMAND git checkout 9f6cc779c101b87184076322603f496e5fdd0432 CMAKE_ARGS -DEIGEN_TEST_NO_OPENGL=1 -DEIGEN_BUILD_PKGCONFIG=0 -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/eigen3-installed ) include_directories (${CMAKE_BINARY_DIR}/eigen3-installed/include/eigen3) add_dependencies (opmautodiff Eigen3) endif (NOT EIGEN3_FOUND)