File: CMakeLists.txt

package info (click to toggle)
dune-common 2.11.0-1~exp2
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 6,056 kB
  • sloc: cpp: 54,404; python: 4,136; sh: 1,657; makefile: 17
file content (33 lines) | stat: -rw-r--r-- 991 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# SPDX-FileCopyrightInfo: Copyright © DUNE Project contributors, see file LICENSE.md in module root
# SPDX-License-Identifier: LicenseRef-GPL-2.0-only-with-DUNE-exception

add_python_targets(common
  __init__
  checkconfiguration
  compatibility
  deprecated            # deprecated 2.8
  hashit
  locking
  module
  pickle
  project
  utility
)

dune_add_pybind11_module(NAME _common SOURCES _common.cc)
target_link_libraries(_common PUBLIC Dune::Common)

if( DUNE_ENABLE_PYTHONMODULE_PRECOMPILE )
  foreach(FV_NUM RANGE 0 4)
    add_library(registerfvector_${FV_NUM} OBJECT registerfvector.cc)
    target_compile_definitions(registerfvector_${FV_NUM} PRIVATE FV_NUM=${FV_NUM})
    target_link_libraries(registerfvector_${FV_NUM} PRIVATE Dune::Common)

    # Register the object in the pybind11 module _common
    target_link_libraries(_common PRIVATE registerfvector_${FV_NUM})
  endforeach()
endif()

if(SKBUILD)
  install(TARGETS _common LIBRARY DESTINATION python/dune/common)
endif()