set(NIFTEST
    niftest.cpp
)
source_group(components\\nif\\tests FILES ${NIFTEST})

# Main executable
openmw_add_executable(niftest
    ${NIFTEST}
)

target_link_libraries(niftest
    components
)

if(BUILD_TGZ)
    INSTALL(TARGETS niftest RUNTIME DESTINATION "." COMPONENT niftest)
    IF(NOT MINGW)
      exec_program("uname" ARGS "-m" OUTPUT_VARIABLE ARCH)
      SET_TARGET_PROPERTIES(niftest
                            PROPERTIES OUTPUT_NAME niftest.${ARCH})
      add_custom_command(
        TARGET niftest POST_BUILD
        COMMAND objcopy --only-keep-debug niftest.${ARCH} niftest.debug
        DEPENDS niftest.${ARCH}
        WORKING_DIRECTORY ../../
        VERBATIM)
      add_custom_command(
        TARGET niftest POST_BUILD
        COMMAND strip -g niftest.${ARCH}
        DEPENDS niftest.debug
        WORKING_DIRECTORY ../../
        VERBATIM)
      add_custom_command(
        TARGET niftest POST_BUILD
        COMMAND objcopy --add-gnu-debuglink=niftest.debug niftest.${ARCH}
        DEPENDS niftest.debug
        WORKING_DIRECTORY ../../
        VERBATIM)
    ENDIF(NOT MINGW)
endif(BUILD_TGZ)

if (BUILD_WITH_CODE_COVERAGE)
    target_compile_options(niftest PRIVATE --coverage)
    target_link_libraries(niftest gcov)
endif()

if (WIN32)
    install(TARGETS niftest RUNTIME DESTINATION ".")
endif()

if (MSVC AND PRECOMPILE_HEADERS_WITH_MSVC)
    target_precompile_headers(niftest PRIVATE <filesystem>)
endif()
