1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- # Sources for python extension
- set(_scattnlay_python_sources
- ${CMAKE_CURRENT_LIST_DIR}/nmie.hpp
- ${CMAKE_CURRENT_LIST_DIR}/nmie.cc
- ${CMAKE_CURRENT_LIST_DIR}/nmie-precision.hpp
- ${CMAKE_CURRENT_LIST_DIR}/special-functions-impl.hpp
- ${CMAKE_CURRENT_LIST_DIR}/nmie-basic.hpp
- ${CMAKE_CURRENT_LIST_DIR}/nmie-nearfield.hpp
- ${CMAKE_CURRENT_LIST_DIR}/pb11_wrapper.cc)
- # Define python extension
- add_library(python3-scattnlay SHARED ${_scattnlay_python_sources})
- if (${ENABLE_MP} AND ${Boost_FOUND})
- target_link_libraries(python3-scattnlay PRIVATE Boost::headers ${Python_LIBRARIES})
- else()
- target_link_libraries(python3-scattnlay PRIVATE ${Python_LIBRARIES})
- endif()
- target_include_directories(python3-scattnlay PRIVATE ${NUMPY_INCLUDE_DIR} ${PYBIND11_INCLUDE_DIR})
- set_target_properties(python3-scattnlay PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
- set_target_properties(
- python3-scattnlay
- PROPERTIES
- PREFIX ""
- OUTPUT_NAME "scattnlay"
- SUFFIX "${EXT_SUFFIX}"
- LINKER_LANGUAGE C
- )
- # Sources for far field calculation
- set(_scattnlay_farfield_sources
- ${CMAKE_CURRENT_LIST_DIR}/farfield.cc
- ${CMAKE_CURRENT_LIST_DIR}/nmie.hpp
- ${CMAKE_CURRENT_LIST_DIR}/nmie.cc)
- # Define exe for far field calculation
- add_executable(farfield ${_scattnlay_farfield_sources})
- if (${ENABLE_MP} AND ${Boost_FOUND})
- target_link_libraries(farfield PRIVATE Boost::headers)
- endif()
- set_target_properties(farfield PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
- # Sources for near field calculation
- set(_scattnlay_nearfield_sources
- ${CMAKE_CURRENT_LIST_DIR}/nearfield.cc
- ${CMAKE_CURRENT_LIST_DIR}/nmie.hpp
- ${CMAKE_CURRENT_LIST_DIR}/nmie.cc)
- # Define exe for near field calculation
- add_executable(nearfield ${_scattnlay_nearfield_sources})
- if (${ENABLE_MP} AND ${Boost_FOUND})
- target_link_libraries(nearfield PRIVATE Boost::headers)
- endif()
- set_target_properties(nearfield PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
- # Rename files to match precision
- if (${ENABLE_MP} AND ${Boost_FOUND})
- set_property(TARGET python3-scattnlay APPEND_STRING PROPERTY OUTPUT_NAME "_mp")
- set_property(TARGET farfield APPEND_STRING PROPERTY OUTPUT_NAME "farfield-mp")
- set_property(TARGET nearfield APPEND_STRING PROPERTY OUTPUT_NAME "nearfield-mp")
- else ()
- set_property(TARGET python3-scattnlay APPEND_STRING PROPERTY OUTPUT_NAME "_dp")
- set_property(TARGET farfield APPEND_STRING PROPERTY OUTPUT_NAME "farfield-dp")
- set_property(TARGET nearfield APPEND_STRING PROPERTY OUTPUT_NAME "nearfield-dp")
- endif ()
|