Provide CMake config mode file on par with pkg-config

Rename the module from 'opmcore' to 'opm-core' to be consistent with
DUNE, retrieve the settings from pkg-config instead of having them
written by Autotools, as the PkgConfig module does all untangling of
options for us.
This commit is contained in:
Roland Kaufmann 2012-11-30 13:10:49 +01:00
parent ea2bb23bf8
commit 76fb33037a
3 changed files with 38 additions and 41 deletions

View File

@ -58,7 +58,7 @@ AC_CONFIG_FILES([
tutorials/Makefile
opm-core.pc
lib/pkgconfig/opm-core.pc
opmcore-config.cmake
opm-core-config.cmake
])
AC_OUTPUT

37
opm-core-config.cmake.in Normal file
View File

@ -0,0 +1,37 @@
# - Open Porous Media Initiative Core Library config mode
#
# Defines the following variables:
# opm-core_FOUND - true
# opm-core_VERSION - version of the opm-core library found, e.g. 0.2
# opm-core_DEFINITIONS - defines to be made on the command line
# opm-core_INCLUDE_DIRS - header directories with which to compile
# opm-core_LINKER_FLAGS - flags that must be passed to the linker
# opm-core_LIBRARIES - names of the libraries with which to link
# opm-core_LIBRARY_DIRS - directories in which the libraries are situated
#
# You should put lines like this in your CMakeLists.txt
# set (opm-core_DIR "${PROJECT_BINARY_DIR}/../opm-core" CACHE LOCATION "Build tree of opm-core")
# find_package (opm-core)
# <http://www.vtk.org/Wiki/CMake/Tutorials/How_to_create_a_ProjectConfig.cmake_file>
# propagate this property from one build system to the other
set (opm-core_VERSION @PACKAGE_VERSION@)
# make the pkg-config portion of the configuration do the heavy lifting
find_package (PkgConfig)
set (ENV{PKG_CONFIG_PATH} "@abs_top_builddir@:$ENV{PKG_CONFIG_PATH}")
pkg_check_modules (opm-core REQUIRED opm-core)
# these variables have non-standard names in FindPkgConfig (sic)
set (opm-core_DEFINITIONS ${opm-core_CFLAGS_OTHER})
set (opm-core_LINKER_FLAGS ${opm-core_LDFLAGS_OTHER})
# libraries come from the build tree where this file was generated
find_library (opm-core_LOCATION NAMES "opmcore" PATHS "@abs_top_builddir@/lib/.libs")
mark_as_advanced (opm-core_LOCATION)
# add the library as a target, so that other things in the project including
# this file may depend on it and get rebuild if this library changes.
add_library (opmcore UNKNOWN IMPORTED)
set_property (TARGET opmcore PROPERTY IMPORTED_LOCATION "${opm-core_LOCATION}")

View File

@ -1,40 +0,0 @@
# - Open Porous Media Initiative Core Library config mode
#
# Defines the following variables:
# @PACKAGE@_FOUND - true
# @PACKAGE@_VERSION - version of the opm-core library found, e.g. 0.2
# @PACKAGE@_DEFINITIONS - defines to be made on the command line
# @PACKAGE@_INCLUDE_DIRS - header directories with which to compile
# @PACKAGE@_LIBRARY_DIRS - directories to search for libraries
# @PACKAGE@_LIBRARIES - names of the libraries with which to link
#
# You should put lines like this in your CMakeLists.txt
# set (@PACKAGE@_DIR "../@PACKAGE@" CACHE LOCATION "Build tree of @PACKAGE_NAME@")
# find_package (@PACKAGE@)
# <http://www.vtk.org/Wiki/CMake/Tutorials/How_to_create_a_ProjectConfig.cmake_file>
# propagate this property from one build system to the other
set (@PACKAGE@_VERSION @PACKAGE_VERSION@)
# these definitions may be necessary to make the header files behave the
# same way as they did when the library was compiled
set (@PACKAGE@_DEFINITIONS "@OPM_BOOST_CPPFLAGS@ @SUPERLU_CPPFLAGS@ @ERT_CPPFLAGS@")
# include files come from the source tree where the template is stored
set (@PACKAGE@_INCLUDE_DIRS "@abs_top_srcdir@")
# user programs should link with this library (see comment in the header)
set (@PACKAGE@_LIBRARIES "@PACKAGE@")
# convention is to have a variable named like this to add to link directories
set (@PACKAGE@_LIBRARY_DIRS "@abs_top_builddir@/lib/.libs")
# libraries come from the build tree where this file was generated
find_library (@PACKAGE@_LOCATION NAMES "@PACKAGE@" PATHS "${@PACKAGE@_LIBRARY_DIRS}")
mark_as_advanced (@PACKAGE@_LOCATION)
# add the library as a target, so that other things in the project including
# this file may depend on it and get rebuild if this library changes.
add_library (@PACKAGE@ UNKNOWN IMPORTED)
set_property (TARGET @PACKAGE@ PROPERTY IMPORTED_LOCATION "${@PACKAGE@_LOCATION}")