function(setup_target_properties_library target)
    set_target_properties(${target} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${OUTPUT_BASE_DIR}/${CONFIG_DIR}/lib)
    if (WIN32 OR APPLE)
        set_target_properties(${target} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_BASE_DIR}/${CONFIG_DIR}/bin)
        if (BUILD_SHARED_LIBS)
            target_compile_definitions(${target} PRIVATE -D_USRDLL)
        endif()
    elseif (UNIX)
        set_target_properties(${target} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_BASE_DIR}/${CONFIG_DIR}/lib)
    endif()
    set_target_properties(${target} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${OUTPUT_BASE_DIR}/${CONFIG_DIR}/bin)
endfunction()
