mirror of https://github.com/triqs/dft_tools
37 lines
1.6 KiB
CMake
37 lines
1.6 KiB
CMake
|
|
# List the sources
|
|
set(module_name "getpmatelk")
|
|
set(fortran_src_file "${CMAKE_CURRENT_SOURCE_DIR}/getpmatelk.f90")
|
|
|
|
set(generated_module_file ${module_name}${TRIQS_PYTHON_MODULE_EXT})
|
|
|
|
add_custom_target(${module_name} ALL
|
|
DEPENDS ${generated_module_file}
|
|
)
|
|
|
|
# for Intel fortran compilers we manually have to link against libiomp5 (-fqopenmp is always on in f2py)
|
|
if(CMAKE_Fortran_COMPILER_ID MATCHES "Intel")
|
|
set(F2PY_INTEL_OPTIONS -liomp5 --fcompiler=intelem)
|
|
endif()
|
|
|
|
##generate the fortran python wrapper shared library
|
|
add_custom_command(
|
|
OUTPUT ${generated_module_file}
|
|
COMMAND ${TRIQS_PYTHON_EXECUTABLE} -m numpy.f2py --build-dir ${CMAKE_CURRENT_BINARY_DIR}/meson --f90exec=${CMAKE_Fortran_COMPILER} --f77exec=${CMAKE_Fortran_COMPILER} ${F2PY_INTEL_OPTIONS} -c ${fortran_src_file} -m ${module_name} > elk_f2py.log
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
)
|
|
|
|
# where to install
|
|
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} DESTINATION
|
|
${TRIQS_PYTHON_LIB_DEST_ROOT}/${PROJECT_NAME}/converters/elktools FILES_MATCHING PATTERN "*.so"
|
|
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE
|
|
WORLD_READ WORLD_EXECUTE PATTERN "CMakeFiles" EXCLUDE)
|
|
|
|
# user warning
|
|
message(STATUS "-----------------------------------------------------------------------------")
|
|
message(STATUS " ******** USER NOTE ******** ")
|
|
message(STATUS " This version of DFTTools contains interface routines to read Elk's binary ")
|
|
message(STATUS " files. ")
|
|
message(STATUS "-----------------------------------------------------------------------------")
|
|
|