message (STATUS "Building python hammerlib package")

    if(CYTHON_FOUND)
        include(UseCython)

        set_source_files_properties(hammerlib.pyx PROPERTIES
                                    CYTHON_IS_CXX TRUE)

        set(CYTHON_WARNINGS "-Wno-unused-macros -Wno-old-style-cast -Wno-sign-conversion")
        set(CYTHON_WARNINGS "${CYTHON_WARNINGS} -Wno-float-equal -Wno-unused-function -Wno-sign-compare")
        if (CMAKE_COMPILER_IS_GNUCXX)
            set(CYTHON_WARNINGS "${CYTHON_WARNINGS} -Wno-float-equal -Wno-shadow -Wno-cast-qual")
            set(CYTHON_WARNINGS "${CYTHON_WARNINGS} -Wno-conversion")
        else(CMAKE_COMPILER_IS_GNUCXX)
            set(CYTHON_WARNINGS "${CYTHON_WARNINGS} -Wno-unneeded-internal-declaration")
            set(CYTHON_WARNINGS "${CYTHON_WARNINGS} -Wno-reserved-id-macro -Wno-missing-variable-declarations")
            set(CYTHON_WARNINGS "${CYTHON_WARNINGS} -Wno-unreachable-code-return -Wno-implicit-fallthrough")
            set(CYTHON_WARNINGS "${CYTHON_WARNINGS} -Wno-used-but-marked-unused -Wno-shorten-64-to-32")
            set(CYTHON_WARNINGS "${CYTHON_WARNINGS} -Wno-zero-as-null-pointer-constant -Wno-c++17-extensions")
            set(CYTHON_WARNINGS "${CYTHON_WARNINGS} -Wno-double-promotion -Wno-cast-qual")
        endif(CMAKE_COMPILER_IS_GNUCXX)
        string(REPLACE " " ";" CYTHON_WARNINGS ${CYTHON_WARNINGS})

        cython_add_module(hammerlib hammerlib.pyx)
        target_link_libraries(hammerlib PRIVATE Base Tools Core Amplitudes Rates FormFactors)
        target_include_directories(hammerlib PRIVATE ${PROJECT_SOURCE_DIR}/include
											    ${PROJECT_BINARY_DIR}/include)
        set_target_properties(hammerlib PROPERTIES POSITION_INDEPENDENT_CODE ${Hammer_PIC})
        target_compile_options(hammerlib PRIVATE ${Hammer_CompileOptions})
        if(VERBOSE_DEBUG)
            target_compile_options(hammerlib PRIVATE ${Hammer_VerboseOptions})
            if(VERY_VERBOSE_DEBUG)
                target_compile_options(hammerlib PRIVATE ${Hammer_SanitizeOptions})
            endif()
        endif()
        target_compile_options(hammerlib PRIVATE ${CYTHON_WARNINGS})


    endif()
