Skip to content
Snippets Groups Projects
Commit 71f19abb authored by Santiago Ospina De Los Ríos's avatar Santiago Ospina De Los Ríos
Browse files

Merge branch 'feature/cmake-namespaces-non-backwards' into 'feature/cmake-namespaces'

Allow custom namespaces and set deprecated aliases in exported targets file

See merge request !1260
parents 9e3be409 d2f5879b
No related branches found
No related tags found
2 merge requests!1260Export targets under the Dune:: or custom namespaces,!1247Export targets under custom namespaces (Dune:: by default)
Pipeline #62561 passed
Pipeline: Dune Nightly Test

#62574

    Pipeline: Dune Nightly Test

    #62562

      ......@@ -20,6 +20,7 @@ Add a library to a Dune module.
      [COMPILE_OPTIONS "<flags>;..."]
      [OUTPUT_NAME <libname>]
      [EXPORT_NAME <exportname>]
      [NAMESPACE <namespace>]
      [NO_EXPORT]
      [NO_MODULE_LIBRARY]
      )
      ......@@ -28,10 +29,9 @@ Add a library to a Dune module.
      this created ``lib<libname>.so`` or ``lib<libname>.a``. The target properties
      are automatically filled with the given (optional) arguments.
      A dune library is (by default) exported into the ``<export-set>`` given by the
      global name ``${ProjectName}-targets`` if the parameter ``NO_EXPORT`` is not
      given. This ``<export-set>`` is automatically installed and exported in the
      ``dune_finalize_project()`` function.
      A dune library is exported into a unique export set if the parameter
      ``NO_EXPORT`` is not given. This export set is automatically installed and
      exported in the ``dune_finalize_project()`` function.
      ``SOURCES``
      The source files from which to build the library.
      ......@@ -45,9 +45,13 @@ Add a library to a Dune module.
      ``OUTPUT_NAME``
      Name of the library file, e.g. ``lib<libname>.so`` or ``lib<libname>.a``.
      ``NAMESPACE``
      Name to be prepended to the export name of the target. This namespace
      will be concatenated with the project namespace set up in `dune_project()`.
      ``EXPORT_NAME``
      Name of the exported target to be used when linking against the library.
      This target will always be under the `Dune::` namespace.
      This target will always be under the project and target namespace (e.g. Dune::).
      We recommend to choose an export name with a camel title case matching your
      library name (e.g., Common, ISTL, and MultiDomainGrid will be exported as
      Dune::Common, Dune::ISTL, and Dune::MultiDomainGrid)
      ......@@ -67,6 +71,7 @@ Add a library to a Dune module.
      [LINK_LIBRARIES <targets>...]
      [COMPILE_OPTIONS "<flags>;..."]
      [EXPORT_NAME <exportname>]
      [NAMESPACE <namespace>]
      [NO_EXPORT]
      [NO_MODULE_LIBRARY]
      )
      ......@@ -75,15 +80,23 @@ Add a library to a Dune module.
      An interface target does not contain any sources but my contain flags and
      dependencies.
      A dune library is exported into a unique export set if the parameter
      ``NO_EXPORT`` is not given. This export set is automatically installed and
      exported in the ``dune_finalize_project()`` function.
      ``LINK_LIBRARIES``
      A list of dependency the libraries is explicitly linked against.
      ``COMPILE_OPTIONS``
      Any additional compile flags for building the library.
      ``NAMESPACE``
      Name to be prepended to the export name of the target. This namespace
      will be concatenated with the project namespace set up in `dune_project()`.
      ``EXPORT_NAME``
      Name of the exported target to be used when linking against the library.
      This target will always be under the `Dune::` namespace.
      This target will always be under the project and target namespace (e.g. Dune::).
      We recommend to choose an export name with a camel title case matching your
      library name (e.g., Common, ISTL, and MultiDomainGrid will be exported as
      Dune::Common, Dune::ISTL, and Dune::MultiDomainGrid)
      ......@@ -146,7 +159,7 @@ endfunction(dune_add_library)
      function(dune_add_library_normal _name)
      cmake_parse_arguments(ARG
      "NO_EXPORT;NO_MODULE_LIBRARY;STATIC;SHARED;MODULE"
      "COMPILE_FLAGS;COMPILE_OPTIONS;OUTPUT_NAME;EXPORT_NAME"
      "COMPILE_FLAGS;COMPILE_OPTIONS;OUTPUT_NAME;EXPORT_NAME;NAMESPACE"
      "ADD_LIBS;LINK_LIBRARIES;SOURCES" ${ARGN})
      list(APPEND ARG_SOURCES ${ARG_UNPARSED_ARGUMENTS})
      dune_expand_object_libraries(ARG_SOURCES ARG_ADD_LIBS ARG_COMPILE_FLAGS)
      ......@@ -190,32 +203,31 @@ function(dune_add_library_normal _name)
      "(e.g., Common, ISTL, and MultiDomainGrid will be exported as Dune::Common, Dune::ISTL, and Dune::MultiDomainGrid)\n"
      " * Calls to `dune_add_library(<lib> ...)` without export specification will be supported until Dune 2.11\n"
      " * Consumption of unscoped targets `<lib>` will be supported until Dune 2.12")
      set(ARG_EXPORT_NAME __dune_impl_${_name})
      set(ARG_EXPORT_NAME ${_name})
      endif()
      get_property(namespace GLOBAL PROPERTY ${ProjectName}_NAMESPACE)
      set(namespace ${namespace}${ARG_NAMESPACE})
      set(alias ${namespace}${ARG_EXPORT_NAME})
      if(NOT TARGET ${alias})
      add_library(${alias} ALIAS ${_name})
      endif()
      set(${ProjectName}_EXPORT_SET ${ProjectName}-targets CACHE INTERNAL "")
      set(export_set ${ProjectName}-${namespace}-export-set)
      # Install targets to use the libraries in other modules.
      add_library(Dune::${ARG_EXPORT_NAME} ALIAS ${_name})
      set_target_properties(${_name} PROPERTIES EXPORT_NAME ${ARG_EXPORT_NAME})
      install(TARGETS ${_name}
      EXPORT ${${ProjectName}_EXPORT_SET} DESTINATION ${CMAKE_INSTALL_LIBDIR})
      # Install (unaliased) targets to use the libraries in other modules.
      # NOTE: Remove when compatibility with 2.9 is not needed anymore (e.g., 2.13)
      add_library(_dune_unaliased_${_name} INTERFACE)
      target_link_libraries(_dune_unaliased_${_name} INTERFACE Dune::${ARG_EXPORT_NAME})
      set_target_properties(_dune_unaliased_${_name} PROPERTIES EXPORT_NAME ${_name})
      install(TARGETS _dune_unaliased_${_name}
      EXPORT ${${ProjectName}_EXPORT_SET} DESTINATION ${CMAKE_INSTALL_LIBDIR})
      EXPORT ${export_set} DESTINATION ${CMAKE_INSTALL_LIBDIR})
      # Register target as an exported library
      if(NOT ARG_NO_MODULE_LIBRARY)
      set_property(GLOBAL APPEND PROPERTY ${ProjectName}_INTERFACE_LIBRARIES Dune::${ARG_EXPORT_NAME})
      set_property(GLOBAL APPEND PROPERTY ${ProjectName}_INTERFACE_LIBRARIES ${alias})
      endif()
      endif()
      # Register library in global property <module>LIBRARIES
      # Register library in global property <module>_LIBRARIES
      if(NOT ARG_NO_MODULE_LIBRARY)
      set_property(GLOBAL APPEND PROPERTY ${ProjectName}_LIBRARIES ${name})
      endif()
      ......@@ -226,7 +238,7 @@ endfunction(dune_add_library_normal)
      function(dune_add_library_interface _name)
      cmake_parse_arguments(ARG
      "NO_EXPORT;NO_MODULE_LIBRARY;INTERFACE"
      "COMPILE_FLAGS;COMPILE_OPTIONS;EXPORT_NAME"
      "COMPILE_FLAGS;COMPILE_OPTIONS;EXPORT_NAME;NAMESPACE"
      "ADD_LIBS;LINK_LIBRARIES" ${ARGN})
      list(APPEND ARG_LINK_LIBRARIES ${ARG_ADD_LIBS})
      list(APPEND ARG_COMPILE_OPTIONS ${ARG_COMPILE_FLAGS})
      ......@@ -250,28 +262,27 @@ function(dune_add_library_interface _name)
      " * Calls to `dune_add_library(<lib> ...)` without export specification will be supported until Dune 2.11\n"
      " * Consumption of unscoped targets `<lib>` will be supported until Dune 2.12")
      set(ARG_EXPORT_NAME __dune_impl_${_name})
      set(ARG_EXPORT_NAME ${_name})
      endif()
      get_property(namespace GLOBAL PROPERTY ${ProjectName}_NAMESPACE)
      set(namespace ${namespace}${ARG_NAMESPACE})
      set(alias ${ARG_NAMESPACE}${ARG_EXPORT_NAME})
      if(NOT TARGET ${alias})
      add_library(${alias} ALIAS ${_name})
      endif()
      set(${ProjectName}_EXPORT_SET ${ProjectName}-targets CACHE INTERNAL "")
      set(export_set ${ProjectName}-${ARG_NAMESPACE}-export-set)
      # Install targets to use the libraries in other modules.
      add_library(Dune::${ARG_EXPORT_NAME} ALIAS ${_name})
      set_target_properties(${_name} PROPERTIES EXPORT_NAME ${ARG_EXPORT_NAME})
      install(TARGETS ${_name}
      EXPORT ${${ProjectName}_EXPORT_SET} DESTINATION ${CMAKE_INSTALL_LIBDIR})
      # Install (unaliased) targets to use the libraries in other modules.
      # NOTE: Remove when compatibility with 2.9 is not needed anymore (e.g., 2.13)
      add_library(_dune_unaliased_${_name} INTERFACE)
      target_link_libraries(_dune_unaliased_${_name} INTERFACE Dune::${ARG_EXPORT_NAME})
      set_target_properties(_dune_unaliased_${_name} PROPERTIES EXPORT_NAME ${_name})
      install(TARGETS _dune_unaliased_${_name}
      EXPORT ${${ProjectName}_EXPORT_SET} DESTINATION ${CMAKE_INSTALL_LIBDIR})
      EXPORT ${export_set} DESTINATION ${CMAKE_INSTALL_LIBDIR})
      # Register target as an exported library
      if(NOT ARG_NO_MODULE_LIBRARY)
      set_property(GLOBAL APPEND PROPERTY ${ProjectName}_INTERFACE_LIBRARIES Dune::${ARG_EXPORT_NAME})
      set_property(GLOBAL APPEND PROPERTY ${ProjectName}_INTERFACE_LIBRARIES ${alias})
      endif()
      endif()
      ......
      ......@@ -14,13 +14,16 @@ Initialize and finalize a Dune module.
      .. code-block:: cmake
      dune_project()
      dune_project([NAMESPACE <namespace>])
      This function needs to be called from every module top-level
      ``CMakeLists.txt`` file. It sets up the module, defines basic variables and
      manages dependencies. Don't forget to call :command:`finalize_dune_project`
      at the end of that ``CMakeLists.txt`` file.
      ``NAMESPACE``
      Name to be prepended to the export name of all targets set up by this project.
      By default this is set to ``Dune::``.
      .. cmake:command:: finalize_dune_project
      ......@@ -59,6 +62,8 @@ include(OverloadCompilerFlags)
      # Don't forget to call finalize_dune_project afterwards.
      macro(dune_project)
      cmake_parse_arguments(ARG "" "NAMESPACE" "" ${ARGN})
      # check if CXX flag overloading has been enabled (see OverloadCompilerFlags.cmake)
      initialize_compiler_script()
      ......@@ -92,6 +97,15 @@ macro(dune_project)
      BRIEF_DOCS "List of interface libraries of the module. DO NOT EDIT!"
      FULL_DOCS "List of interface libraries of the module. Used to set up external module configuration. DO NOT EDIT!")
      define_property(GLOBAL PROPERTY ${ProjectName}_NAMESPACE
      BRIEF_DOCS "The CMake namespace to export targets of this library. DO NOT EDIT!"
      FULL_DOCS "The CMake namespace to export targets of this library. DO NOT EDIT!")
      if(NOT ARG_NAMESPACE)
      set(ARG_NAMESPACE Dune::)
      endif()
      set_property(GLOBAL PROPERTY ${ProjectName}_NAMESPACE ${ARG_NAMESPACE})
      dune_create_dependency_tree()
      # assert the project names matches
      ......@@ -168,6 +182,10 @@ macro(finalize_dune_project)
      #configure all headerchecks
      finalize_headercheck()
      ##########################
      ### CREATE CONFIG FILE ###
      ##########################
      #create cmake-config files for installation tree
      include(CMakePackageConfigHelpers)
      include(GNUInstallDirs)
      ......@@ -178,6 +196,13 @@ macro(finalize_dune_project)
      # file section of dune-grid.
      set(DUNE_MODULE_SRC_DOCDIR "\${${ProjectName}_PREFIX}/${CMAKE_INSTALL_DOCDIR}")
      if(${ProjectName} STREQUAL "dune-common")
      set(DUNE_CUSTOM_PKG_CONFIG_SECTION
      "set_and_check(@DUNE_MOD_NAME@_SCRIPT_DIR \"@PACKAGE_SCRIPT_DIR@\")
      set_and_check(DOXYSTYLE_FILE \"@PACKAGE_DOXYSTYLE_DIR@/Doxystyle\")
      set_and_check(DOXYGENMACROS_FILE \"@PACKAGE_DOXYSTYLE_DIR@/doxygen-macros\")")
      endif()
      if(NOT EXISTS ${PROJECT_SOURCE_DIR}/cmake/pkg/${ProjectName}-config.cmake.in)
      # Generate a standard cmake package configuration file
      file(WRITE ${PROJECT_BINARY_DIR}/CMakeFiles/${ProjectName}-config.cmake.in
      ......@@ -211,12 +236,7 @@ ${DUNE_CUSTOM_PKG_CONFIG_SECTION}
      #import the target
      if(${ProjectName}_LIBRARIES)
      get_filename_component(_dir \"\${CMAKE_CURRENT_LIST_FILE}\" PATH)
      include(\"\${_dir}/${ProjectName}-targets-scoped.cmake\")
      include(\"\${_dir}/${ProjectName}-targets-unscoped.cmake\")
      # Deprecation warning for unscoped targets
      if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.19)
      @DUNE_DEPRECATED_LIBRARY_ALIASES@
      endif()
      include(\"\${_dir}/${ProjectName}-targets.cmake\")
      endif()
      endif()")
      ......@@ -237,20 +257,6 @@ endif()")
      set(DUNE_INSTALL_LIBDIR ${DUNE_INSTALL_NONOBJECTLIBDIR})
      endif()
      # add deprecated property for unaliased targets
      unset(DUNE_DEPRECATED_LIBRARY_ALIASES)
      if(${ProjectVersionString} VERSION_GREATER_EQUAL 2.11)
      foreach(_interface_name ${${ProjectName}_INTERFACE_LIBRARIES})
      get_target_property(_unaliased_name ${_interface_name} ALIASED_TARGET)
      get_target_property(_export_unaliased_name ${_unaliased_name} EXPORT_NAME)
      set(DUNE_DEPRECATED_LIBRARY_ALIASES
      "${DUNE_DEPRECATED_LIBRARY_ALIASES}
      set_property(TARGET ${_unaliased_name} PROPERTY DEPRECATION \"Replace `${_unaliased_name}` to new scoped `${_interface_name}` targets.\")
      set_property(TARGET ${_export_unaliased_name} PROPERTY DEPRECATION \"Replace `${_export_unaliased_name}` to new scoped `${_interface_name}` targets.\")"
      )
      endforeach()
      endif()
      # Set the location of the doc file source. Needed by custom package configuration
      # file section of dune-grid.
      set(DUNE_MODULE_SRC_DOCDIR "${PROJECT_SOURCE_DIR}/doc")
      ......@@ -291,6 +297,10 @@ endmacro()")
      ${CONFIG_SOURCE_FILE}
      ${PROJECT_BINARY_DIR}/${ProjectName}-config.cmake @ONLY)
      ###########################
      ### CREATE VERSION FILE ###
      ###########################
      if(NOT EXISTS ${PROJECT_SOURCE_DIR}/${ProjectName}-config-version.cmake.in)
      file(WRITE ${PROJECT_BINARY_DIR}/CMakeFiles/${ProjectName}-config-version.cmake.in
      "set(PACKAGE_VERSION \"${ProjectVersionString}\")
      ......@@ -311,11 +321,100 @@ endif()
      ${CONFIG_VERSION_FILE}
      ${PROJECT_BINARY_DIR}/${ProjectName}-config-version.cmake @ONLY)
      ###########################
      ### CREATE TARGETS FILE ###
      ###########################
      # find all namespaces (this was setup in dune_add_library)
      set(_namespaces "")
      foreach(_target ${${ProjectName}_INTERFACE_LIBRARIES})
      # find namespaces: alias without export name
      get_target_property(_export_name ${_target} EXPORT_NAME)
      string(REPLACE "${_export_name}" "" _namespace ${_target})
      list(APPEND _namespaces ${_namespace})
      endforeach()
      list(REMOVE_DUPLICATES _namespaces)
      # install files with targets, one per export set
      set(_glob_target_file "
      get_filename_component(_dir \"\${CMAKE_CURRENT_LIST_FILE}\" PATH)
      ")
      foreach(_namespace ${_namespaces})
      set(_export_set ${ProjectName}-${_namespace}-export-set)
      string(MD5 _hash "${_export_set}")
      set(_target_file ${ProjectName}-scoped-targets-${_hash}.cmake)
      # install library export set
      install(EXPORT ${_export_set}
      DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${ProjectName}
      NAMESPACE ${_namespace}
      FILE ${_target_file})
      # export libraries for use in build tree
      export(EXPORT ${_export_set}
      FILE ${PROJECT_BINARY_DIR}/${_target_file}
      NAMESPACE ${_namespace})
      set(_glob_target_file "${_glob_target_file}
      include(\"\${_dir}/${_target_file}\")")
      endforeach()
      # add deprecated unaliased targets and warnings (remove after dune 2.11)
      set(${ProjectName}_POLICY_UNSCOPED_EXPORTED_TARGET_VISIBILITY TRUE CACHE INTERNAL
      "If this policy is set to FALSE, unscoped export names will not be visible in downstream projects.
      This was the default behavior previous to DUNE 2.10.
      Set this variable to FALSE only if you do not want compatibility with Dune 2.9 or earlier.
      The old behavior will be completely removed after Dune 2.11")
      if(${ProjectVersionString} VERSION_LESS_EQUAL 2.11)
      foreach(_interface_name ${${ProjectName}_INTERFACE_LIBRARIES})
      # alias with original target name (e.g. dunecommon)
      get_target_property(_unaliased_name ${_interface_name} ALIASED_TARGET)
      if(NOT "${_unaliased_name}" STREQUAL "${_interface_name}")
      set(_glob_target_file "${_glob_target_file}
      add_library(${_unaliased_name} INTERFACE IMPORTED)
      set_target_properties(${_unaliased_name} PROPERTIES INTERFACE_LINK_LIBRARIES ${_interface_name})")
      if(${ProjectVersionString} VERSION_EQUAL 2.11)
      set(_glob_target_file "${_glob_target_file}
      if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.19)
      set_property(TARGET ${_unaliased_name} PROPERTY DEPRECATION \"Replace `${_unaliased_name}` to new scoped `${_interface_name}` targets.\")
      endif()")
      endif()
      endif()
      # alias with unscoped export name (e.g. Common instead of Dune::Common)
      get_target_property(_export_name ${_interface_name} EXPORT_NAME)
      if( (NOT "${_export_name}" STREQUAL "${_interface_name}")
      AND (NOT "${_export_name}" STREQUAL "${_unaliased_name}")
      AND ${${ProjectName}_POLICY_UNSCOPED_EXPORTED_TARGET_VISIBILITY})
      set(_glob_target_file "${_glob_target_file}
      add_library(${_export_name} INTERFACE IMPORTED)
      set_target_properties(${_export_name} PROPERTIES INTERFACE_LINK_LIBRARIES ${_interface_name})")
      if(${ProjectVersionString} VERSION_EQUAL 2.11)
      set(_glob_target_file "${_glob_target_file}
      if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.19)
      set_property(TARGET ${_export_name} PROPERTY DEPRECATION \"Replace `${_export_name}` to new scoped `${_interface_name}` targets.\")
      endif()")
      endif()
      endif()
      endforeach()
      elseif(${ProjectName} STREQUAL "dune-common")
      message(DEPRECATION "Remove me: Unscoped exported targets is fully unssported")
      endif()
      # write targets file
      file(WRITE ${PROJECT_BINARY_DIR}/${ProjectName}-targets.cmake ${_glob_target_file})
      ###########################
      ### INSTALL CMAKE FILEs ###
      ###########################
      # install dune.module file
      install(FILES dune.module DESTINATION ${DUNE_INSTALL_NONOBJECTLIBDIR}/dunecontrol/${ProjectName})
      # install cmake-config files
      install(FILES ${PROJECT_BINARY_DIR}/cmake/pkg/${ProjectName}-config.cmake
      install(FILES
      ${PROJECT_BINARY_DIR}/cmake/pkg/${ProjectName}-config.cmake
      ${PROJECT_BINARY_DIR}/${ProjectName}-targets.cmake
      ${PROJECT_BINARY_DIR}/${ProjectName}-config-version.cmake
      DESTINATION ${DUNE_INSTALL_LIBDIR}/cmake/${ProjectName})
      ......@@ -327,28 +426,9 @@ endif()
      # install pkg-config files
      create_and_install_pkconfig(${DUNE_INSTALL_LIBDIR})
      if(${ProjectName}_EXPORT_SET)
      # install library export set
      install(EXPORT ${${ProjectName}_EXPORT_SET}
      DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${ProjectName}
      NAMESPACE Dune::
      FILE ${ProjectName}-targets-scoped.cmake)
      # export libraries for use in build tree
      export(EXPORT ${${ProjectName}_EXPORT_SET}
      FILE ${PROJECT_BINARY_DIR}/${ProjectName}-targets-scoped.cmake
      NAMESPACE Dune::)
      # NOTE: Remove when compatibility with 2.10 is not needed anymore (e.g., 2.13)
      # install (unscoped) library export set
      install(EXPORT ${${ProjectName}_EXPORT_SET}
      DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${ProjectName}
      FILE ${ProjectName}-targets-unscoped.cmake)
      # export (unscoped) libraries for use in build tree
      export(EXPORT ${${ProjectName}_EXPORT_SET}
      FILE ${PROJECT_BINARY_DIR}/${ProjectName}-targets-unscoped.cmake)
      endif()
      ###########################
      ### HEADER CONFIG FILEs ###
      ###########################
      if("${ARGC}" EQUAL "1")
      message(STATUS "Adding custom target for config.h generation")
      ......
      # SPDX-FileCopyrightInfo: Copyright © DUNE Project contributors, see file LICENSE.md in module root
      # SPDX-License-Identifier: LicenseRef-GPL-2.0-only-with-DUNE-exception
      if(NOT @DUNE_MOD_NAME@_FOUND)
      @PACKAGE_INIT@
      #import the target
      get_filename_component(_dir "${CMAKE_CURRENT_LIST_FILE}" PATH)
      include("${_dir}/@DUNE_MOD_NAME@-targets-scoped.cmake")
      include("${_dir}/@DUNE_MOD_NAME@-targets-unscoped.cmake")
      #report other information
      set_and_check(@DUNE_MOD_NAME@_PREFIX "${PACKAGE_PREFIX_DIR}")
      set_and_check(@DUNE_MOD_NAME@_INCLUDE_DIRS "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")
      set(@DUNE_MOD_NAME@_CXX_FLAGS "@CMAKE_CXX_FLAGS@")
      set(@DUNE_MOD_NAME@_CXX_FLAGS_DEBUG "@CMAKE_CXX_FLAGS_DEBUG@")
      set(@DUNE_MOD_NAME@_CXX_FLAGS_MINSIZEREL "@CMAKE_CXX_FLAGS_MINSIZEREL@")
      set(@DUNE_MOD_NAME@_CXX_FLAGS_RELEASE "@CMAKE_CXX_FLAGS_RELEASE@")
      set(@DUNE_MOD_NAME@_CXX_FLAGS_RELWITHDEBINFO "@CMAKE_CXX_FLAGS_RELWITHDEBINFO@")
      set(@DUNE_MOD_NAME@_LIBRARIES Dune::Common)
      set_and_check(@DUNE_MOD_NAME@_SCRIPT_DIR "@PACKAGE_SCRIPT_DIR@")
      set_and_check(DOXYSTYLE_FILE "@PACKAGE_DOXYSTYLE_DIR@/Doxystyle")
      set_and_check(DOXYGENMACROS_FILE "@PACKAGE_DOXYSTYLE_DIR@/doxygen-macros")
      set(@DUNE_MOD_NAME@_DEPENDS "@DUNE_DEPENDS@")
      set(@DUNE_MOD_NAME@_SUGGESTS "@DUNE_SUGGESTS@")
      set(@DUNE_MOD_NAME@_HASPYTHON 1)
      set(@DUNE_MOD_NAME@_PYTHONREQUIRES "@DUNE_MODULE_PYTHONREQUIRES@")
      set_and_check(@DUNE_MOD_NAME@_MODULE_PATH "@PACKAGE_DUNE_INSTALL_MODULEDIR@")
      if((CMAKE_VERSION VERSION_GREATER_EQUAL 3.19) AND (@ProjectVersionString@ VERSION_GREATER_EQUAL 2.11))
      set_property(TARGET dunecommon PROPERTY DEPRECATION "Replace `dunecommon` to new scoped `Dune::Common` targets.")
      endif()
      endif(NOT @DUNE_MOD_NAME@_FOUND)
      0% Loading or .
      You are about to add 0 people to the discussion. Proceed with caution.
      Finish editing this message first!
      Please register or to comment