CMAKE_MINIMUM_REQUIRED(VERSION 3.16)

################################################################################
#                               PYTHON EXTENSION                               #
################################################################################
SET(MODNAME "_mmu_core_tests")
SET(MMU_EXTENSION_TEST_PATH "${PROJECT_SOURCE_DIR}/src/tests")

MESSAGE(STATUS "MMU: Building tests")

pybind11_add_module(${MODNAME}
    MODULE
        ${MMU_EXTENSION_TEST_PATH}/bindings.cpp
        ${MMU_EXTENSION_TEST_PATH}/math.cpp
        ${MMU_EXTENSION_TEST_PATH}/numpy.cpp
)

TARGET_LINK_LIBRARIES(${MODNAME} PUBLIC mmu::mmu)
TARGET_COMPILE_DEFINITIONS(${MODNAME} PRIVATE VERSION_INFO=${MMU_VERSION_INFO})
TARGET_COMPILE_OPTIONS(${MODNAME} PRIVATE "$<$<CONFIG:RELEASE>:${MMU_RELEASE_OPTIONS}>")
# Set required C++14 flag
SET_PROPERTY(TARGET ${MODNAME} PROPERTY CXX_STANDARD 14)
SET_PROPERTY(TARGET ${MODNAME} PROPERTY CXX_STANDARD_REQUIRED ON)
SET_PROPERTY(TARGET ${MODNAME} PROPERTY POSITION_INDEPENDENT_CODE ON)

if(SKBUILD)
    INSTALL(TARGETS ${MODNAME} LIBRARY DESTINATION "${PROJECT_NAME}/lib")
ELSE ()
    INSTALL(TARGETS ${MODNAME} LIBRARY DESTINATION "${PROJECT_SOURCE_DIR}/mmu/lib")
ENDIF ()
